[英]Angular: Directive: How to pass require form AND controller to link function
我有一個名為formNavHandler的指令來處理臟檢查和從頁面到頁面的導航。 formNavHandler依賴於一個稱為CoolFormCtrl的控制器和一個稱為coolForm的表單 。 我想這兩個CoolFormCtrl和coolForm傳遞給formNavHandler的鏈接功能
angular.module('cool').directive('formNavHandler', [
'$log', function($log) {
return {
restrict: 'A',
scope: {
disabled: '=coolFormDisabled'
},
controller: 'CoolFormCtrl',
require: 'form',
link: function(scope, elem, attrs, WhatsThis) {
$log.log(WhatsThis);
...
}
};
}
]);
像這樣使用:
<form name="coolForm" form-nav-handler=true cool-form disabled="!CurrentUser.canUpdate">
...
</form>
我的問題是我無法弄清楚如何通過鏈接函數同時傳遞form和CoolFormCtrl 。
如果我注釋掉require:'form'行,則WhatsThis = CoolFormCtrl :
使用require:'form'行未注釋WhatsThis = coolForm
當嘗試傳遞第五個參數WhatsThis = coolForm和AndThis = undefined
controller: 'CoolFormCtrl',
require: 'form',
link: function(scope, elem, attrs, WhatsThis, AndThis) {
$log.log(WhatsThis);
$log.log(AndThis);
有什么方法可以將控制器和必需的形式都傳遞給指令鏈接功能?
嘗試:
angular.module('cool').directive('formNavHandler', [
'$log', function($log) {
return {
restrict: 'A',
scope: {
disabled: '=coolFormDisabled'
},
require: ['formNavHandler', 'form'],
controller: 'CoolFormCtrl',
link: function(scope, elem, attrs, WhatsThis) {
$log.log(WhatsThis);
...
}
};
}]);
這將是一個控制器數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.