Gibt es eine bessere Möglichkeit, die Datensätze zurückzugeben, nachdem DS.Store#pushPayload
aufgerufen wurde? Das mache ich ...
Aber mit regulärem DS.Store#push
wird der eingefügte Datensatz zurückgegeben. Der einzige Unterschied zwischen den beiden, von dem, was ich sagen kann, ist, dass DS.Store#pushPayload
die Nutzdaten mit den richtigen Serialisierern serialisiert.
DS.Store#pushPayload
kann ein Array von Elementen aufnehmen, nicht nur eines, und kann seitengeladene Daten enthalten. Es verarbeitet eine vollständige Payload und erwartet Root-Schlüssel in der Payload:
DS.Store#push
erwartet einen einzelnen Datensatz, der normalisiert wurde und keine seitengeladenen Daten enthält (beachten Sie, dass es keinen Stammschlüssel gibt):
Aus diesem Grund ist es sinnvoll, dass push
den Datensatz zurückgibt, aber pushPayload
nichts zurückgibt.
Wenn Sie pushPayload
verwenden, ist eine zweite Suche nach store.find('post', 1)
(oder store.getById('post', 1)
) der richtige Weg. Ich glaube nicht, dass es einen besseren Weg gibt.
Ab kann dieser PR pushPayload
jetzt ein Array aller in den Store gedrängten Datensätze zurückgeben, Sobald das 'ds-pushpayload-return'
Feature-Flag aktiviert wurde.
Im Moment ist diese Funktion in einer Standard- oder Beta-Version nicht verfügbar - Sie müssen
verwenden %Vor% (d. h. Canary) in Ihrem package.json
, um darauf zuzugreifen. Ich bin mir nicht sicher, wann die Funktion allgemein verfügbar sein wird.
Tags und Links ember.js ember-data