我创建了3个输入类型编号,它基本上是两个值的相加以获得总数。我的挑战是当我在总和中输入一个值时;我希望它自动分成两个输入字段。 例如#1: 9 #2: 3 #Total:12 如果用户编辑了Total,可能值为100,那么我应该有#1: 15 #2: 5 #Total:20
注意:可以编辑数字1和数字2以仅提供总和,但是当编辑总和时,它应分为数字1和数字2。
<div ng-app="myApp" ng-controller="addvalue">
<p>Input something in the input box:</p>
<p>Number 1: <input type="number" ng-change="update()" ng-model="firstNumber"></p>
<p>Number 2: <input type="number" ng-change="update()" ng-model="secondNumber"></p>
<p>Total Sum: <input type="number" ng-change="update()" ng-model="total">{{total}}</p>
</div>
JAVASCRIPT:
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
$scope.$watch('one + two + three', function(value) {
$scope.total = value;
});
$scope.change = function() {
if (istotal) {
$scope.firstNumber = $scope.total / 2;
$scope.secondNumber = $scope.total / 4;
} else {
$scope.total = $scope.firstNumber + $scope.secondNumber;
}
}
});
答案 0 :(得分:1)
尝试在update()中传递boolean参数。
如果是1号和2号,请将其保留为ng-change = "update(false)"
。
总计为ng-change = "update(true)"
。
在控制器中。
$scope.update(isTotal) {
if(istotal) {
$scope.firstNumber = 3 * $scope.total / 4;
$scope.secondNumber = 1 * $scope.total / 4;
} else {
$scope.total = $scope.firstNumber + $scope.secondNumber;
}
}