我们有两个指令,分别称为parent
和child
。他们两个都定义了控制器,其中包含一些功能。对于child
指令,我们可以:
parent controller
与require
属性(require: '^parent'
),从而接收第四参数我们与它的值链接函数:function link(scope, elem, attrs, parentCtrl)
child controller
:不使用require
,第四个链接参数将是我们的childController。所以问题是:我们如何在link函数中同时引用子控制器和父控制器child
?这是一个带有示例的插件:http ://plnkr.co/edit/WzU6iJgf2zLLApFHeiEG?p=preview
您可以将数组传递给指令定义的'require'属性,该属性包括子指令和父指令。链接函数的第四个参数将是一个数组:
app.directive('childDirective', function() {
require: ['childDirective', '^parentDirective'],
link: function(scope, element, attr, ctrls) {
var childCtrl = ctrls[0];
var parentCtrl = ctrls[1];
...
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句