angularjs – 为什么$watch没有开火
发布时间:2020-12-17 07:08:29 所属栏目:安全 来源:网络整理
导读:我试图使用$watch,但是当我期望它时它不会被触发. 当$scope.string发生变化时,为什么下面的代码没有触发? $scope.string = 'Hello.';$scope.timesChanged = 0;$scope.$watch('string',function (newValue) { $scope.timesChanged =+ 1;});$scope.string = '
我试图使用$watch,但是当我期望它时它不会被触发.
当$scope.string发生变化时,为什么下面的代码没有触发? $scope.string = 'Hello.'; $scope.timesChanged = 0; $scope.$watch('string',function (newValue) { $scope.timesChanged =+ 1; }); $scope.string = 'How are you'; $scope.string = 'doing today?'; 这是一个fiddle 解决方法
它不会触发,因为Angular无法知道您在声明后立即更改了字符串.在这种情况下,没有任何东西可以触发新的摘要循环,因此$watch不会触发.基本上这和你写的一样
$scope.string = 'Hello.'; $scope.string = 'How are you'; $scope.string = 'doing today?'; $scope.timesChanged = 0; $scope.$watch('string',function (newValue) { $scope.timesChanged =+ 1; // you probably want += 1 here. }); Watcher在字符串变量初始化的同一摘要循环执行中注册. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |