Es ist möglich, Attribute Aurelia individuellen Element passiert mit @bindable
decorator:Warum bindbare decorator nicht eingehalten wird, wenn ein benutzerdefiniertes Element übertragen mit compose
export class ItemCustomElement {
@bindable model: Item;
}
<item model.bind="model"></item>
Warum durch <compose>
gerenderte benutzerdefinierte Elemente unterschiedlich behandelt werden, entsprechend docs Sie benötigen eine activate
Methode, um Daten zu übergeben? @bindable
wird nicht respektiert.
export class ItemCustomElement {
@bindable model: Item;
activate(model: Item): void {
this.model = model;
}
}
<compose view-model="./item" model.bind="model"></compose>
Aus der Sicht der benutzerdefinierten Elements, derzeit muss es wissen, wie es verwendet wird, mit <compose>
oder nicht werden wird. Ich denke, ein benutzerdefiniertes Element sollte von dieser externen Entscheidung isoliert werden. Können wir in beiden Fällen @bindable
arbeiten lassen?
In Ihrem Beispiel, wie Sie someMessage Eigenschaft innerhalb MyElement Klasse zugreifen? – zakjan
konnte ich zugreifen, weil es mit '' importiert wurde. Wenn Sie compose verwenden, kann das Element direkt auf die Eigenschaften des übergeordneten Elements zugreifen. –
Ja, in der Ansicht HTML-Vorlage. Ich frage nach der View-Model JS-Datei. – zakjan