Frage

Ich habe gesucht, für eine Weile, und ich bin ziemlich zuversichtlich, dass dies eine neue Frage, und nicht ein wiederholen, wie der Titel schon sagt.:)

Im Grunde bin ich versucht, herauszufinden, ob es einen abonnieren-Veranstaltung in der Lage, die KnockoutJS erstellt nach einer Vorlage Rendern, wenn Sie so etwas wie jQuery Vorlagen.

Ich würde verwenden die gebaut-in "afterRender" aber ich fand heraus, dass es nicht ausgelöst wird, wenn das observable-array gelöscht wird.Ich baute diese demo an, um zu veranschaulichen das problem: http://jsfiddle.net/farina/YWfV8/1/.

Auch bin ich mir bewusst, dass ich einen benutzerdefinierten handler schreiben...das scheint aber wirklich unnötig, was ich brauche.

Ich möchte nur ein Ereignis, das ausgelöst wird, nachdem die Vorlage Oberflächen-rendering.

War es hilfreich?

Lösung

Mein Kollege tatsächlich gelöst wird diese Letzte Nacht mit etwas, das wir spielten, bevor ich nach Hause ging.

Also das ganze "problem" mit den Veranstaltungen "afterRender", "afterAdd" und "beforeRemove" ist, dass Sie anders handeln in Verbindung mit einer "foreach" - Bindung.KnockoutJS ist nett genug um dir das zu sagen auf Ihre Seite, aber für was auch immer Grund, es nicht wirklich ein Waschbecken in für mich, bis ich sah es in der Praxis.

Was wirklich funktioniert, ist Schrott, das ganze "foreach" - Bindung und die Nutzung Knockout ' s native "Daten" binden wie diese:

data-bind="template: { name: 'item-template', data: items, afterRender: caller }"

Dann "afterRender" funktioniert genau wie der name vermuten lässt.

Ich war unter dem Eindruck, dass Sie nicht die Iteration der Sammlung und Rendern eine neue Benutzeroberfläche, ohne foreach-Schleife, aber diese Beispiele zeigen, dass es funktioniert.

Ich habe ein Beispiel für beide ViewModel-Stile, da brauche ich manchmal den ein oder anderen.

Danke für die Hilfe Dan!!

Andere Tipps

Ist beforeRemove Suchen Sie, wonach Sie suchen? Ich bin mir nicht sicher, welches Verhalten Sie erreichen möchten. Bitte überprüfen Sie dieses Beispiel: http://jsfiddle.net/romanych/ywfv8/8/Ist es das, was du willst oder nicht?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top