Нужна помощь по связыванию даных 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: |
В директиве ng-change вызывается scope.$eval.
Должно быть так ng-change="koef = (file.dimension[0])/dimW; dimH=(file.dimension[1])/koef" valde, ты в консоль смотришь, когда тестируешь свой код? |
В консоли чисто.. никаких нотайсов или ероров нет. Попробовал ваш вариант ... Все заработало!!!! Огромное спасибо!! А Подскажите Пожалуйста еще как мне можно скруглить число или обрезатьпо дробной части в самой вюшке .. Тоесть в директиве ng-change
|
Фильтр number как юзать
|
Спасибо хороший вариант.
Кстати если кому будет интересно, нашел еще один вариант округления чисел, точнее даже использования математических операций в вюшке. Для этого в своем контроллере нужно указать: $scope.Math = window.Math; |
Часовой пояс GMT +3, время: 15:56. |