我在这里问这个问题,因为我似乎错过了一些东西。我可以很好地编辑2个项目。我甚至可以对结果进行计算,例如数字/ 2。
我遇到的问题是实时变化的结果。一些代码:
var app = angular.module('base_app', []);
app.controller('testCtrl', ['$scope', function($scope){
$scope.percentage = 50;
$scope.total = $scope.percentage / 2;
}]);
和html内容:
<div class="col-sm-12" ng-controller="testCtrl">
<input type="text" ng-model="percentage" />
<p>{{percentage}}</p>
</div>
<div class="col-sm-12" ng-controller="testCtrl">
<p>{{total}}</p>
</div>
所以我想做的是,当通过2路数据绑定更新$ scope.percentage时,我也希望$ scope.total也能更新。
如果百分比是50,那么总数将是25.如果我将输入更改为20,那么总数应该更新为10,但不是,这就是我被困住的地方。
答案 0 :(得分:0)
你应该用ng-change
来做<div class="col-sm-12" ng-controller="testCtrl">
<input type="text" ng-change="Update()" ng-model="percentage" />
<p>{{percentage}}</p>
</div>
在控制器中,
$scope.Update = function (){
$scope.total = $scope.percentage / 2;
}
<强> DEMO 强>
答案 1 :(得分:0)
我认为你必须将父div标签和初始化控制器放到该div。
对于前。
<div ng-controller="testCtrl">
<div class="col-sm-12">
<input type="text" ng-model="percentage" ng-change="updateTotal()"/>
<p>{{percentage}}</p>
</div>
<div class="col-sm-12">
<p>{{total}}</p>
</div>
</div>
并在控制器中添加updateTotal()函数
$scope.updateTotal = function (){
$scope.total = $scope.percentage / 2;
}