Piszę prosty komponent kątowy. Podaję parametr jako wiązanie i wyświetlam jego wartość na ekranie. Wszystko działa dobrze: widzę parametr wyświetlany na ekranie.Kątowe komponenty: wiązania są niezdefiniowane w kontrolerze
Składnik:
var app = angular.module("test", []);
app.component("test", {
bindings: {
"contactId": "<"
},
controllerAs: "model",
controller:() => {
//output: 'contact id from controller: undefined'
console.log(`contact id from controller: ${this.contactId}`);
},
template: "<div>Contact id from view: {{model.contactId}}</div>"
});
HTML:
<test contact-id="8"></test>
Jednak przy próbie dostępu do wiązania z poziomu sterownika (patrz console.log), wartość wiążąca jest undefined
. Nie rozumiem, jak może on być dostępny w widoku, ale nie w kontrolerze.
Co robię źle?
Oto plnkr ilustrujący problem.
Brakuje mi coś prostego. Dlaczego "contactId" jest zdefiniowane w cudzysłowach? – Winnemucca