编辑(2013 年 7 月 18 日):根据您的建议,我稍微修改了代码,代码在这里: http: //plnkr.co/edit/Pcwaci5oQ0ANIslPlPmd但它仍然无法正常工作。这个例子是一个简单的测试,看看 $watch 是如何工作的。我正在设置一个变量并在该变量上定义一个 $watch ,然后将监视的变量更新两次。似乎 $watch 只被调用一次,但我希望它被调用 3 次(包括最初的调用,虽然我也想知道如何使第一次调用成为可选的)。
$scope.name = 'World'; //initial assignment
$scope.count = 0;
$scope.$watch('name', function(){
$scope.count++;
});
$scope.name = 'Bob';//should increment the value to 2
$scope.name = 'Jane';//should increment the value to 3
为什么此代码运行后 $scope.count 等于 1?
原始请求:在这个http://plnkr.co/edit/Pcwaci5oQ0ANIslPlPmdplunker
中,我设置了一个计数变量、一个名称变量,并在.$watch
$scope
controller
我预计 count 的值最终会解析为 1,但它与初始化相比保持不变。