我在指令foo
中有一个指令container
。 DOM层次结构如下所示:
<container>
<foo></foo>
</container>
我可以在require: '^container'
中使用foo
,以便从我的link
功能中访问它。但是,我经常想从模板内部访问该控制器,因此我必须在我的link
函数中将控制器设置在范围内,并且它变得非常重复。有更好的方法吗?
mod.directive('container', function() {
return {
controller: function() {
this.interesting = "foo";
}
};
});
mod.directive('foo', function() {
return {
require: '^container',
scope: {},
link: function(scope, element, attrs, ct) {
scope.ct = ct; // this is the annoying line
}
};
});
使用这样的模板:
{{ ct.interesting }}
显然,那里的那条线并不是世界末日,但它让我觉得我做错了。有更好的设计吗?
答案 0 :(得分:0)
这是作为添加到Angular 1.2的功能的控制器用于。
mod.directive('container', function() {
return {
controller: function() {
this.interesting = "foo";
},
controllerAs: "ct"
};
});