If my directive uses \"require
\" to use a different directive, say ngModel
, and uses isolate scope how am I able to use the bindToController<
How would you do this without bindToController
? All that bindToController: true
does is it binds the isolate scope property scope: { prop: "=" }
to the property of the controller: this.prop
.
In both cases, the way to pass a "required" controller would be the same, which is to require
your own controller and set its property to whatever you want, including other controllers:
app.directive("foo", function(){
return {
require: ["foo", "bar"],
controller: function(){
this.doSomethingWithBar = function(){
this.bar.doSomething();
};
},
controllerAs: "ctrl",
bindToController: true,
link: function(scope, element, attrs, ctrls){
var foo = ctrls[0], bar = ctrls[1];
foo.bar = bar;
}
}
});