我有一个数字输入,如果数字增加或减少,则应调用一个函数:
<input type="number" ng-model="amountOfInterval" ng-change="vm.changedAmountOfInterval(amountOfInterval)" />
在这种情况下,我得到一个无限循环。当数字增加时,调用changedAmountOfInterval
,增加数字,等等。
我现在的问题是如何防止这种情况?
答案 0 :(得分:0)
<input type="number" ng-model="amountOfInterval" ng-change="amountOfInterval = amountOfInterval + 1" />
这段代码绝对正常: http://plnkr.co/edit/f2SgkbCc0gretZlDFWi0?p=preview
只有在用户更改模型时,才会在更改模型后触发Ng-change。
我认为你对这个变量有一些监视,它也调用了这个函数,如:
$scope.$watch($scope.amountOfInterval, function() {
$scope.amountOfInterval++;
})
这会给你无限循环。