我需要两个对象的交叉更新值
$scope.price = 0
$scope.amount = 1
$scope.total = 0
$scope.$watch('price', function(){
$scope.total = parseFloat( $scope.price * $scope.amount ).toFixed(2);
})
$scope.$watch('total', function(){
$scope.price = parseFloat( $scope.total / $scope.amount ).toFixed(2);
})
当我从$ watch函数更新值时,我需要禁用$ watch(可能类似于setViewValue
)
我该怎么办?
问题是:如何在没有摘要的情况下更新$ scope值(跳过$ watch函数)?
答案 0 :(得分:0)
如果你看一下这里的$ watch部分:
<强>返回强>
function()返回此侦听器的注销函数。
这样:
var disabler = $scope.$watch('price', function(){ $scope.total = parseFloat( $scope.price * $scope.amount ).toFixed(2); }) //this will de-register the watch disabler();