Jeśli moja dyrektywa wykorzystuje „require
” użyć innej dyrektywy, powiedzmy ngModel
i wykorzystuje wyizolować zakres jak jestem w stanie użyć składni bindToController
i nadal być w stanie uzyskać dostęp do zastrzyki (ngModelController
) z kontroler?bindToController z wymagać w Kątowymi dyrektywy
9
A
Odpowiedz
21
Jak zrobiłbyś to bez bindToController
? Wszystko, co robi bindToController: true
, wiąże właściwość zakresu izolowania scope: { prop: "=" }
z właściwością kontrolera: this.prop
.
W obu przypadkach sposób przekazać „wymagane” kontroler byłby ten sam, który jest require
swój własny sterownik i ustawić jego właściwość co chcesz, w tym innych kontrolerów:
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;
}
}
});
To jest z pewnością poprawna odpowiedź i powinna zostać zaakceptowana. –