$ watch在编译无效的帖子链接中

时间:2016-04-15 12:52:30

标签: angularjs angularjs-scope angularjs-compile angularjs-watch

我正在尝试对帖子链接功能中的属性应用$watch

我的代码是这样的:

compile: function(){
     return {
         post:function(scope,element){
             scope.$watch('scope.x', function(){
                console.log(scope.x);
            })  
         }
     }
}

加载页面时只执行一次。有什么不对的我无法搞清楚吗?

编辑:

我正在使用角度网格来显示网格中的各种图表。我的index.html看起来像:

<div gridster>
    <ul>
        <chart ng-repeat="chart in charts">
        </chart>
   </ul>
</div>

图表是另一个带有视图的指令:

<li gridster-item row="grid_row" col="grid_col">

脚本文件包含:

module.directive('chart', ['',
    function() {
        return {
            restrict: 'E',
            scope: {
                  grid_col: '=col',
                  grid_row: '=row',
            },
            compile: function(element, attrs) {
                return {
                     post: function(scope, element, timeout) {
                         scope.$watch('grid_col', function() {
                         console.log(scope.grid_col);
                       })
                    }
                }
            }
        };
    }
]);

1 个答案:

答案 0 :(得分:0)

您不应在提及scope的{​​{1}}中提及string名称。

$watch
超出范围的

scope.$watch('x', function(){ console.log(scope.x); }) 将放在$watch&amp;内的$$观察者对象内。根据每个摘要循环的范围评估每个字符串值。