我正在创建指令到AngularJS
,如何配置它必须是指令A的子?如何定义Angular指令必须是Angular中特定指令的子代?
像这个例子:
<my-modal>
<m-header>Header</m-header>
</my-modal>
m-header
必须是my-modal
孩子,如果没有,会出现一些异常
我正在创建指令到AngularJS
,如何配置它必须是指令A的子?如何定义Angular指令必须是Angular中特定指令的子代?
像这个例子:
<my-modal>
<m-header>Header</m-header>
</my-modal>
m-header
必须是my-modal
孩子,如果没有,会出现一些异常
可以使用require
参数努力需要像下面的代码里的父指令。
app.directive('mHeader', function() {
return {
require: '^^myModal',
restrict: 'E',
transclude: true,
link: function(scope, element, attrs, myModalCtrl) {
myModalCtrl.close();
},
templateUrl: 'my-header.html'
};
});
此外,使用require
的时候,你可以有机会获得母公司控制器,你可以在myModalCtrl
看到。
它将如何检查m-header必须是我的模态的孩子 –
你也应该解释你的答案。请注意,'require',没有前缀,会尝试在当前元素上找到所需的控制器,这不符合Lai的条件。 –
我正在尝试,但它被阻止,因为您在编辑我的帖子时进行了编辑。我无意中抹去了部分解释。无论如何,谢谢你的帮助:)赞赏 –
这是一种解决方法。 您可以比较
if(elem.parent()[0].localName= 'my-model') {
}
随着u可以知道它该元素
看一看['require'](直接孩子https://docs.angularjs.org/api/ng /服务/ $#编译-require-)。我会对'^^'前缀感兴趣。 –
你写什么指令? 'my-modal'或'm-header'? –