AngularJS指令嵌套时link函数执行顺序的问题

简介:

今天研究指令嵌套时,发现子指令的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,如需转载请自行联系原作者。

目录
相关文章
|
5月前
|
JavaScript 前端开发
AngularJS ng-if是一个非常强大的指令,可以用来根据条件决定是否渲染元素
【6月更文挑战第17天】AngularJS ng-if是一个非常强大的指令,可以用来根据条件决定是否渲染元素。
29 3
|
6月前
|
存储 JavaScript 前端开发
AngularJS指令的隔离作用域:深入理解指令的scope选项
【4月更文挑战第28天】本文探讨了AngularJS指令的隔离作用域,它是创建可重用组件的关键。隔离作用域通过scope选项实现,有false、true和对象三种模式。当scope为对象时,指令拥有独立作用域,不继承父作用域属性。@、=和&符号用于绑定隔离作用域与父作用域间的属性。隔离作用域适用于组件封装和复杂逻辑隔离,提高应用的可维护性。遵循最佳实践,如避免直接操作父作用域、清晰定义绑定和处理销毁,能构建更健壮的AngularJS应用。
|
前端开发 JavaScript
angularJS中ng-class指令的三种实现方式
angularJS中ng-class指令的三种实现方式
99 0
angular21-关于指令标准属性
angular21-关于指令标准属性
83 0
angular21-关于指令标准属性
|
JavaScript 数据安全/隐私保护 索引
Angular最新教程-第十四节 指令 结构型指令 属性型指令 自定义指令
Angular最新教程-第十四节 指令 结构型指令 属性型指令 自定义指令
199 0
Angular最新教程-第十四节 指令 结构型指令 属性型指令 自定义指令
|
JavaScript 前端开发 移动开发