agnamanshamansky
@agnamanshamansky
Python Developer

Как менять значение поля относительно значения другого поля в Angular?

Доброго времени суток. Мне нужна помощь по Angular. Имеется проект на Laravel. Есть два поля. Первое поле - количество участников. Второе - сумма на одного участника.

<input type="number" ng-model="model.amount_users">
<input type="text" ng-model="model.price">


Передо мной стоит задача при при создании и редактировании через эту форму делить общую сумму на количество участников и записывать это значение во второе поле. Общая сумма выводится во view через {{$game->price}}. Куда записать общую сумму и как манипулировать вторым полем?
  • Вопрос задан
  • 531 просмотр
Решения вопроса 1
Вариантов есть несколько:
1. ng-change:
HTML:
<input type="number" ng-model="model.amount_users" ng-change="onUserAmountChange()">
<input type="text" ng-model="model.price">

JS:
$scope.onUserAmountChange = function() {
    $scope.model.price = FULL_PRICE/$scope.model.amount_users;
}

2. разметка:
HTML:
<input type="number" ng-model="model.amount_users" ng-change="onUserAmountChange()">
<span> {{model.fullPrice/model.amount_users}} </span>

Второй вариант подойдет, если поле является на самом деле просто информацией для пользователя. Делать её инпутом в данном случае нет никакого смысла.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
вешайте $watch на 1-ю переменную и там уже вычисляйте что нужно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы