我有一个指令,它正在观看在事件处理程序中修改的控制器属性。
代码看起来像这样:
vm = this;
vm.someProperty = false;
// Event listeners
$scope.$on('controller.loaded', function (event, data) {
// data.someProperty === true.
angular.extend(vm, data);
});
然后我有一个使用此属性的指令:
<body mydirective="someController.someProperty">
和指令内属性值的$observe
:
attrs.$observe(attrs.mydirective, function (value) {
当我从事件监听器中对vm.someproperty
进行更改时,永远不会触发$observe
处理程序。我的猜测是,这种变化超出了一个允许它记录变化的角度范围。
在这种情况下是否需要触发某些内容以确保重新计算所有观察到的属性及其依赖项?