Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Нужна помощь по связыванию даных AngularJS (https://javascript.ru/forum/angular/46089-nuzhna-pomoshh-po-svyazyvaniyu-danykh-angularjs.html)

valde 27.03.2014 21:00

Нужна помощь по связыванию даных AngularJS
 
Приношу свои извинения если ответ на мой вопрос уж слишком очивиден... Но сейча уперся в проблему связвания даных в Anjular.
Суть задачи:
Делаю форму для ресайза изображения.. На вход я уже получаю значения оригинальной картики в полях я ети данные обробатываю и если например пользователь ввел в первое поле некое значение то второе поле изменится согласно пропорции изображения
У меня есть две формы в них я поддтягиваю width и height которые у меня находятся в file.dimension[0] и file.dimension[1] соответственно.

Само связивание я делаю так:
<input ng-model="dimW"  ng-change="{{koef = (file.dimension[0])/dimW; dimH=(file.dimension[1])/koef}}" type="text" class="form-control input-sm" placeholder="{{file.dimension[0]}}" />

<input ng-model="dimH" ng-change="{{koef = (file.dimension[1])/dimH; dimW=(file.dimension[0])/koef}}"   type="text" class="form-control input-sm" placeholder="{{file.dimension[1]}}"/>


Но почему то редактирование даных происходит только в первом инпуте, а так же при определенных значениях перещитывается само число которое вводится.
:help: :help: :help: :help:

FireVolkhov 28.03.2014 07:23

В директиве ng-change вызывается scope.$eval.
Должно быть так
ng-change="koef = (file.dimension[0])/dimW; dimH=(file.dimension[1])/koef"

valde, ты в консоль смотришь, когда тестируешь свой код?

valde 28.03.2014 12:30

В консоли чисто.. никаких нотайсов или ероров нет. Попробовал ваш вариант ... Все заработало!!!! Огромное спасибо!! А Подскажите Пожалуйста еще как мне можно скруглить число или обрезатьпо дробной части в самой вюшке .. Тоесть в директиве ng-change

FireVolkhov 28.03.2014 14:51

Фильтр number как юзать

valde 28.03.2014 17:36

Спасибо хороший вариант.

Кстати если кому будет интересно, нашел еще один вариант округления чисел, точнее даже использования математических операций в вюшке.
Для этого в своем контроллере нужно указать:
$scope.Math = window.Math;


Часовой пояс GMT +3, время: 15:47.