AnsichtAurelia verwenden, wie ein Standardwert für eine benutzerdefinierte Attribut
<template>
<div single-value-attrib="${color}"></div>
<div single-value-attrib.bind="color"></div>
<input type="text" value.bind="color" />
</template>
view-Modell
export class SingleValueAttribCustomAttribute {
static inject = [Element];
color = 'orange';
constructor(element) {
this.element = element;
this.element.style.width = this.element.style.height = '100px';
}
bind() {
this.element.style.backgroundColor = this.value;
}
valueChanged(newValue, oldValue) {
this.element.style.backgroundColor = newValue;
}
}
Ich erwarte einzustellen, dass color='orange';
im Ansichtsmodell zu Farbe so auf der Karte ansehen würde Einstellen der Standardfarbe als Orange. Das Ändern der Farbe in dem Eingabefeld funktioniert wie erwartet. Ich weiß, dass Sie this.value
zu einer Farbe als Ihre Standardfarbe nur einstellen können, aber ich dachte gerade, dass die Bindung die gleiche Weise wie im skeleton-nav arbeiten würde, wo die Eingabefelder Standardwerte für firstName und lastName
Das Ändern der Farbe auf Wert = 'Orange' funktioniert nicht. Das Setzen von this.value = 'orange' im Konstruktor funktioniert ebenfalls nicht, aber es ist sinnvoll, dass es so ist. Wenn ich dies ändere.Wähle my.value und setze dies.myvalue = 'orange', dann funktioniert es. – dan
Wissen Sie was? Du hast Recht. Ich werde die Antwort aktualisieren, um korrekt zu sein. :-) –
funktioniert perfekt, danke – dan