Tenemos el arreglo a este enigma, o por lo menos eso deseamos. Si sigues con interrogantes puedes dejarlo en el apartado de comentarios, que para nosotros será un gusto ayudarte
El servicio de almacenamiento contiene todos los datos de los registros cargados desde el servidor. También es responsable de crear instancias de Model
que envuelven los datos individuales de un registro, para que puedan vincularse en sus plantillas de Handlebars.
Por defecto, las aplicaciones tendrán un único Store
servicio que se crea automáticamente.
La tienda se puede personalizar ampliando el servicio de la siguiente manera:
app/services/store.js
import Store from'@ember-data/store';exportdefaultclassMyStoreextendsStore
Puede recuperar modelos de la tienda de varias maneras. Para recuperar un registro para una identificación específica, use el Store
‘s findRecord()
método:
store.findRecord('person',123).then(function(person));
De forma predeterminada, la tienda se comunicará con su backend mediante un mecanismo REST estándar. Puede personalizar cómo la tienda se comunica con su backend especificando un adaptador personalizado:
app/adapters/application.js
importDSfrom'ember-data';exportdefault Adapter.extend();
Puede obtener más información sobre cómo escribir un adaptador personalizado leyendo el Adapter
documentación.
Almacenar createRecord() frente a push() frente a pushPayload()
La tienda proporciona varias formas de crear nuevos objetos de registro. Tienen algunas diferencias sutiles en su uso que se detallan a continuación:
createRecord se utiliza para crear nuevos registros en el lado del cliente. Esto devolverá un nuevo registro en el created.uncommitted
Expresar. Para conservar este registro en el backend, deberá llamar record.save()
.
push se usa para notificar a la tienda de Ember Data sobre registros nuevos o actualizados que existen en el backend. Esto devolverá un registro en el loaded.saved
Expresar. El caso de uso principal para store#push
es notificar a Ember Data sobre actualizaciones de registros (totales o parciales) que ocurren fuera de los métodos normales del adaptador (por ejemplo SSE o Enchufes web).
pushPayload es un contenedor conveniente para store#push
que deserializará las cargas útiles si el serializador implementa un pushPayload
método.
Nota: Al crear un nuevo registro utilizando cualquiera de los métodos anteriores, Ember Data se actualizará RecordArray
s como los devueltos por store#peekAll()
o store#findAll()
. Esto significa que cualquier vinculación de datos o propiedades calculadas que dependan de RecordArray se sincronizarán automáticamente para incluir los valores de registro nuevos o actualizados.
Clases
- AdaptadorPobladoRecordArray
- PerteneceALaReferencia
- errores
- TieneMuchasReferencia
- MuchosArray
- PromesaArray
- PromesaObjeto
- matriz de registros
- RecordReference
- Referencia
- RootState
- Tienda
Si para ti ha resultado útil nuestro post, sería de mucha ayuda si lo compartieras con otros entusiastas de la programación de esta forma nos ayudas a difundir esta información.