AngularJS模块和指令
angular.module('tabApp', [])
.directive('tabPanel', function () {
return {
scope: {
isOpen: '='
},
template: '<div><div tab-content></div>',
link: function (scope) {
alert(scope.isOpen);
}
};
})
.directive('tabContent', function () {
return {
scope: {
isOpen: '='
},
template: '<div>Content</div>',
link: function (scope) {
alert(scope.isOpen);
}
};
});
HTML
<div ng-app="tabApp">
<div tab-panel is-open="true"></div>
</div>
我需要tabContent来访问tabPanel中的isOpen属性吗?实现这一目标的最佳和最短途径是什么?
答案 0 :(得分:3)
答案 1 :(得分:1)
将子指令定义更改为
.directive('tabContent', function () {
return {
scope: {
isOpen: '='
},
template: '<div>Content</div>',
link: function (scope, attr, element, tabApp) {
alert(scope.isOpen);
},
require: '^tabApp'
};
然后使用link函数接收tabApp,类似于this