Ich schreibe eine einfache Winkelkomponente. Ich übergebe einen Parameter als Bindung und zeige seinen Wert auf dem Bildschirm an. Alles funktioniert gut: Ich kann sehen, dass der Parameter auf dem Bildschirm angezeigt wird.Eckige Komponenten: Bindungen sind im Controller nicht definiert
Komponente:
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>
aber wenn ich versuche, die Bindung für den Zugriff von innerhalb des Controllers (siehe console.log) ist der Bindungswert undefined
. Ich verstehe nicht, wie es in der Ansicht verfügbar sein kann, aber nicht in der Steuerung.
Was mache ich falsch?
Hier ist eine plnkr zur Veranschaulichung des Problems.
Ich bin etwas fehlt einfach. Warum ist "contactId" in Anführungszeichen definiert? – Winnemucca