2016-12-22 3 views
0

Ich lerne ember von Grund auf, und ich stolperte etwas auf ich nicht ganz verstehen kann:kann ich createRecord() ohne save() verwenden?

const newNote = this.store.createRecord('note', { 
    content: 'once upon a time...', 
}); 

newNote.save().then(this._redirectToNewNote.bind(this)); 

Ist das Ergebnis der create in der Datenbank vor dem Speichern, oder ist es wie ein Dummy-Objekt? Kann ich createRecord ohne speichern verwenden?

Antwort

1

Ja. Sie können es ohne zu speichern verwenden, denken Sie daran, dass es beim Aktualisieren der Seite aus dem Speicher entfernt wird.

Von ember Führung

createRecord ist für die Erstellung neuer Datensätze auf der Client-Seite verwendet. Dies wird einen neuen Datensatz im Status created.uncommitted zurückgeben. Um diesen Datensatz im Backend zu erhalten, müssen Sie record.save() aufrufen.

+0

kann ich es speichern? also kann ich ein dummy-objekt weitergeben, ohne es zu speichern? – Leo

+1

Anstatt das Speichern zu fälschen, können Sie [push] (http://emberjs.com/api/data/classes/DS.Store.html#method_push) oder [pushPayload] (http://emberjs.com/api/) versuchen. Daten/Klassen/DS.Store.html # Methode_PushPayload) in Speicher und verwenden Sie [PeekRecord] (http://emberjs.com/api/data/classes/DS.Store.html#method_peekRecord), um es zu erhalten, und Sie können es verwenden . – kumkanillam

+1

Sie können diese [ember-twiddle-Demo] (https://ember-twiddle.com/fb99f18cd3b4d3e2a4c7?openFiles=application.route.js%2C) beziehen. Dies kann in [push] gefunden werden (http://emberjs.com/api/data/classes/DS.Store.html#method_push) – kumkanillam

Verwandte Themen