我想在链接函数中使用指令特定的控制器和父控制器。
module.directive('parent', function() {
return {
...
controller: SomeFunction
}
}
module.directive('child', function() {
return {
...
require('^parent'),
controller: SomeOtherFunction,
link: function(scope, element, attr, ctrl) {
//ctrl is the parent controller not the SomeOtherFunction
}
}
}
有没有一种方法可以使用DirectiveSpecificController但也可以访问父控制器?
是的,您也只需要一个自己的控制器即可:
http://plnkr.co/edit/2x7yxRfJWqXi1FfZmb3V?p=preview
app.directive('parent', function() {
return {
controller: function() {
this.secret = 'apples';
}
}
})
app.directive('child', function() {
return {
controller: function() {
this.secret = 'oranges';
},
require: ['child', '^parent'],
link: function(scope, elem, attrs, ctrls) {
var parentCtrl = ctrls[1];
var childCtrl = ctrls[0]
console.log(parentCtrl.secret);
console.log(childCtrl.secret);
}
}
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句