编辑(18 Jul 13):根据你的建议,我已经改变了一点代码,代码如下: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?
原始请求: 在这种plunker
,http://plnkr.co/edit/Pcwaci5oQ0ANIslPlPmd,我将计数变量,变量名,以及定义上$scope
一个$watch
的controller
内。
我期待计数的值最终解决为1,但它的初始化保持不变。
$ scope.count = $ scope.count + 1; ++不能使用initilization,只需使用$ scope.count ++ –
请包括足够的代码,以正确理解问题本身中的问题,而不是链接到plunker。 – Joe