我需要 $watch 范围内的变量,但它永远不会被调用。我发现它与 ng-switch-when 有关。
例如:http: //jsfiddle.net/gGKGX/
angular.module("GuyModule",[]).controller("GuyController", function($scope) {
$scope.something = "foo";
$scope.guy="This is guy";
$scope.$watch('guy', function(){ console.log("guy changed!"); } );
} );
<div ng-controller="GuyController" ng-app="GuyModule">
<div ng-switch="something">
<div ng-switch-when="foo">
<input ng-model="guy"/>
</div>
<div ng-switch-when="bar">
<button ng-click="something='bar'">Click me!</button>
</div>
</div>
</div>
我期待“人变了!” 要打印但不是,当我删除“ng-switch-when”时它可以工作。我该如何解决这个问题?
顺便说一句 - ui-if (来自 angularui 项目)也会发生同样的事情。