Ich habe eine Ansicht mit Button und Event-Handler auf Knopfdruck, der API aufruft und zu einer anderen Ansicht umleitet. Ich möchte diese Schaltfläche deaktivieren, wenn ein Ereignisklick ausgelöst wird.Wie kann man Echtzeit-Bindungsverhalten in Aurelia bereitstellen?
Wenn ich Aurelia Bindung verwenden
<button disabled.bind="loading" type="button" click.delegate="click()">Push</button>
und setzen
click() {
this.loading = true;
doSomeWork(() => this.loading = false);
}
Taste noch einige Zeit aktiviert ist und ein Benutzer auf diese Schaltfläche erneut klicken konnte.
Ich habe eine kleine Abhilfe verwendet, die nicht sehr gut aussieht.
Fabrikat ref für Button mit Zwei-Wege-Bindung
<button ref="button" disabled.two-way="loading" type="button" click.delegate="click()">Push</button>
Dann explizit deaktivieren ich für Schaltfläche.
click() {
this.button.disabled = true;
doSomeWork(() => this.loading = false);
}
Wie ich verstehe doSomeWork (() => this.loading = false && doSomeWork() => {.... doing ...})); Sie wana falsch in der zweiten doSomeWork wahr zu sein. Falsch kann auf diese Weise nicht wahr sein. Alles in Ordnung mit Aurelia –