我正在創建指令到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'? –