码迷,mamicode.com
首页 > Web开发 > 详细

AngularJS指令嵌套时变量执行顺序的问题解决办法

时间:2015-03-29 19:18:32      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

今天研究指令嵌套时,发现子指令的link函数先于父指令的link函数执行

这样和预想的顺序不一样。

也就是说,如果子指令的某个scope变量依赖于父指令传来的参数时,可能一直是undefinded比如:

APP.directive("子指令", function () {
return {
scope: {
      变量A:"=父指令的参数"
     },
restrict: ‘A‘,
replace: false,
link: function (scope, elem, attr) {
scope.变量B=scope.变量A;//变量B其实永远是undefinded,因为Link先于父指令的Link执行,导致此时子指令还没有得到父指令传来的参数值。
}
}
});

怎么办呢?用scope.watch解决吧。

APP.directive("子指令", function () {
return {
scope: {
      变量A:"=父指令的参数"
     },
restrict: ‘A‘,
replace: false,
link: function (scope, elem, attr) {
scope.watch("变量A",function(){
          scope.变量B=scope.变量A;
       })
}
}
});

AngularJS指令嵌套时变量执行顺序的问题解决办法

标签:

原文地址:http://www.cnblogs.com/kaima/p/angularjs_directive_nested.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!