Angularjs 从子指令访问父指令作用域的最佳方式是什么?
AngularJS模块和指令 HTMLAngularjs 从子指令访问父指令作用域的最佳方式是什么?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,AngularJS模块和指令 HTML 我需要tabContent来访问tabPanel中的isOpen属性?实现这一点的最佳和最短方法是什么?将子指令定义更改为 .directive('tabContent', function () { return { scope: { isOpen: '=' }, template: '<div>Content</div>', link
我需要tabContent来访问tabPanel中的isOpen属性?实现这一点的最佳和最短方法是什么?将子指令定义更改为
.directive('tabContent', function () {
return {
scope: {
isOpen: '='
},
template: '<div>Content</div>',
link: function (scope, attr, element, tabApp) {
alert(scope.isOpen);
},
require: '^tabApp'
};
然后使用link函数接收tabApp,类似于将child指令定义更改为
.directive('tabContent', function () {
return {
scope: {
isOpen: '='
},
template: '<div>Content</div>',
link: function (scope, attr, element, tabApp) {
alert(scope.isOpen);
},
require: '^tabApp'
};
然后使用link函数接收tabApp,类似于,您只需将is open从父指令传递到子指令
.directive('tabPanel', function () {
return {
scope: {
isOpen: '='
},
template: '<div><div tab-content is-open="isOpen"></div>',
//...
};
})
选中此项您只需将is open从父指令传递到子指令
.directive('tabPanel', function () {
return {
scope: {
isOpen: '='
},
template: '<div><div tab-content is-open="isOpen"></div>',
//...
};
})
选中此项您应该为指令/组件创建控制器,然后可以使用require属性和ctrls参数。请参见您应该为指令/组件创建控制器,然后可以使用require属性和ctrls参数。请看,谢谢,但这不是我想要的答案,因为可以放在HTML的任何地方。如果是嵌套结构,则“^tabApp”将不再有效。因此,请选择它。谢谢,但这不是我想要的答案,因为可以将放置在HTML的任何位置。如果是嵌套结构,“^tabApp”将不再工作。因此,选择它。哇,我从没想过答案会这么简单,谢谢。哇,我从没想过答案会这么简单,谢谢。