Angular $watch没有触发
Angular $watch not triggering
我们有一个控制器和一个指令。在控制器的$作用域中有一个包含一些对象的modules
数组。
$scope.modules = [
{title: 'demo'},
{title: 'demo 2'},
{title: 'demo 3'},
];
我正在创建这样的指令:
var popup = angular.element('<module-popup module="module"></module-popup>');
$compile(popup)($scope);
监听控制器的$scope变化:
$scope.$watch('title', function() {
console.log('Controller changed');
}, true);
当页面加载时,我在控制台中看到:Controller changed
但是当我试图手动更改这些值时-在控制台中没有记录,但在屏幕上我看到正确的值。
<h2>{{ module.title }}</h2>
$scope.$apply()
抛出错误
我做错了什么?由于
你正在观察标题,但那不在你的范围内,你试图观察的范围是模块。标题或简单的模块
$scope.$watch('modules', function() {
console.log('Controller changed');
}, true);
相关文章:
- $scope变量发生更改时未触发Angular$watch
- Angular JS$编译服务导致$watch内存泄漏
- nodejs中是否有类似angular$watch的东西
- Angular$watch未更新绑定
- watch()函数无法在json调用上使用angular.js
- 在承诺函数从 pouchdb 填充数据之前触发 Ionic/Angular $watch的问题
- 对 angular.extend 的调用不会导致 $scope.$watch proc
- Angular.js deep watch Coffeescript class instance
- 如何在 Angular 1.5 组件中等待绑定(没有 $scope.$watch)
- Angular 不会保存 $scope.$watch 顺序
- 如何在核心javascript中实现angular$watch函数
- 多维数组上的Angular js$watch
- Issue With Angular $scope.Watch
- Angular$watch旧值在用于观察li时总是等于新值
- Angular$watch|从函数返回项
- angular$watch-can'当集合是相同的变量时,不要让手表开火
- Angular-$watch检查服务状态
- 过滤集合上的Angular watch侦听器在错误的时间调用
- Angular Directive$watch没有响应
- 获取Angular.JS中watch事件的DOM元素