Ich möchte einen Wert in meinem app.js Ansicht-Modell zu einem benutzerdefinierten Element binden, aber ich kann nicht scheinen, bind
zu arbeiten richtig zu erhalten, wenn der Wert von images
von einem Versprechen gesetzt.Wie binden Sie das Ansichtsmodell der App mithilfe eines Versprechens an ein benutzerdefiniertes Element?
app.js
:
@inject(Api)
export class App {
constructor(api) {
this.api = api;
}
. . .
activate() {
this.api.mockGet('gallery').then((images) => this.images = images);
}
}
Mein individuelles Element, wie in app.html
verwiesen:
<featured-image images.bind="images"></featured-image>
Mein Ansicht-Modell individuelles Elements, featured-image.js
:
import {containerless, bindable} from 'aurelia-framework';
@containerless
export class FeaturedImage {
@bindable images = null;
attached() {
console.log(this.images);
}
}
this.images
ist immer undefined
. Wenn ich images
auf ein fest codiertes Array setze, funktioniert es wie erwartet. Was mache ich falsch?
Sehr interessant. Das funktioniert, aber ich würde gerne verstehen warum. Gibt es eine Referenz in den Dokumenten? – Brandon
Ja, da ist. http://aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.4/doc/article/cheat-sheet/7 "Implementieren Sie diesen Hook, wenn Sie kurz vor dem Start eine benutzerdefinierte Logik ausführen möchten view-model wird angezeigt. Sie können optional eine Zusage zurückgeben, um den Router anzuweisen, zu warten, bis die Ansicht gebunden und angehängt wurde, bis Sie Ihre Arbeit beendet haben. " –
Derp - vielen Dank für die Hilfe! Ich schätze es. – Brandon