今天研究指令嵌套时,发现子指令的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解决吧。
});
本文转自Kai的世界,道法自然博客园博客,原文链接:http://www.cnblogs.com/kaima/p/angularjs_directive_nested.html,如需转载请自行联系原作者。