2016-03-22 7 views
0

Ich möchte, dass mein Modell eine eindeutige generierte ID in einem bestimmten Format hat.Wie initialisiert man Modellattribute nur zum Zeitpunkt des Speicherns?

Ich habe versucht, dies in Backbone.Model.initialize-Methode zu tun. https://gist.github.com/nirmaljpatel/7bbc891966f0bd1dbee5

Allerdings wird auch initialize auf Collection.fetch aufgerufen.

Wie kann ich eindeutige Ids nur bei der ersten Initialisierung zuweisen?

+0

Warum würden Sie das gleiche Modell zweimal initialisieren? Sie können entweder das Modell ** oder ** die Sammlung holen. – Tholle

+0

initialize wird nur für neue Modelle, die mit dem Abruf geliefert wurden, nur dann abgerufen, wenn Sie bestimmte Optionen übergeben. Können wir den Code in Frage stellen? –

+0

Dies ist im Zusammenhang mit Appcelerator, wo Modell und Sammlungen in SQLite (anstelle von REST-Server) gespeichert werden. Der Code sollte auf dem verknüpften Text sichtbar sein. Das Modell wird korrekt initialisiert, wenn ich eine erste model.save(); Bei einer späteren Collection.fetch(), die von SQLite zurückgelesen wird, wird die Initialize-Methode erneut ausgelöst. –

Antwort

0

In Ihrer initialize() Funktion verwenden Sie set(), aber synchronisieren Sie die Änderung mit der SQLite-Datenbank. Wenn das Modell das nächste Mal abgerufen wird (z. B. über die Sammlung), ist es immer noch leer und wird neu gesetzt. Anstelle von set() sollten Sie save() verwenden.

Verwandte Themen