У меня есть значение, которое я получаю от контроллера и двух полей ввода. Мне нужно, чтобы всякий раз, когда я вводил любое значение в одном поле ввода. разница в значении, полученном от контроллера и в поле ввода, отображается в другом поле ввода с использованием угловых символов. например: - {{sum}} -> это значение, которое я получаю от контроллера.Динамические значения по умолчанию для поля ввода в angularJs
<input type="number" ng-model="firstnumber" />
<input type="number" ng-model="secondnumber"/>
То, что я пытался делал сервис для установки и получения значения суммы и смотреть, чтобы изменить значение каждый раз, когда изменяется значение.
Моя служба: -
angular.module('myapp').service("cmModalService", function($scope){
var sum= ={};
getSum = function(){
return sum;
}
setSum = function(value){
sum=value;
};
});
В контроллере я определил
$scope.$watch('firstnumber', function(newValue, oldValue) {
var sum=cmModalService.getSum();
if(newValue!=null)
{ secondnumber = sum -firstnumber;
}
});
$scope.$watch('secondnumber', function(newValue, oldValue) {
var sum=cmModalService.getSum();
if(newValue!=null)
{ firstnumber = sum -secondnumber;
}
});
Но всякий раз, когда я изменить значение в поле ввода поток никогда не идет смотреть метод, а значения Безразлично» t изменение. Есть ли другой способ достижения этого?
Я также попытался использовать ng-change, но все же не смог получить точный результат.
И внутри контроллера я определил методы изменения как
$scope.changefirstnumber=function(firstnumber, sum){
$scope.secondnumber = sum- firstnumber;
};
$scope.changesecondnumber=function(secondnumber, sum){
$scope.firstnumber= sum- secondnumber;
};
и в HTML
[ссылка Plunker]
почему не можешь просто сделать '{{firstnumber +}} второго числа'? – Ronnie
Я не понимаю, вы хотите, чтобы вы заполнили еще один входной код суммой значений из других 2? – AndreaM16
Я имею в виду, когда я вводим значение в поле ввода, значение в другом поле ввода shoul d автоматически появляется как {{sum-firstnumber}} и наоборот – Eftakhar