ember.js - queryrecord - findall ember js
DEPRECATION: el comportamiento predeterminado de shouldReloadAll cambiará en Ember Data 2.0 para que siempre devuelva false cuando haya al menos un (3)
En el momento de esta pregunta, estoy ejecutando las últimas versiones de Ember y Ember Data.
Estoy trabajando con el DS.RESTAdapter llamando a /places
esta manera:
this.store.findAll(''place'');
El modelo solo tiene un nombre de nombre de atributo name: DS.attr(''string'')
El JSON es el siguiente:
{
places: [
{
id: 1,
name: "San Francisco"
},
{
id: 2,
name: "Havana"
}
]
}
Hice la plantilla y con la correspondiente each
y todo aparece y funciona hasta el momento, pero recibo una advertencia de desaprobación que dice lo siguiente:
DEPRESIÓN: el comportamiento predeterminado de shouldReloadAll cambiará en Ember Data 2.0 para que siempre devuelva false cuando haya al menos un registro de "destino" en la tienda. Si desea conservar el comportamiento actual, anule shouldReloadAll en su adaptador: aplicación y devuelva verdadero.
No sé exactamente cuál es el mejor enfoque para resolver esta advertencia. Soy nuevo en las brasas así que cualquier explicación adicional estará bien. Gracias por adelantado.
Establezca shouldReloadAll() { return true; }
shouldReloadAll() { return true; }
en su adaptador de aplicación y la advertencia desaparece y el comportamiento predeterminado actual es el mismo.
Para responder la pregunta de @Eric Wilson:
Otorgaré la recompensa a una respuesta que contenga los detalles necesarios para anular la función shouldReloadAll. En otras palabras, no puedo entender qué hacer con estos fragmentos de código.
Primer uso:
ember g adapter application
A continuación, vaya a app/adapters/application.js
recién generados y reemplace el código con:
import DS from ''ember-data'';
export default DS.JSONAPIAdapter.extend({
shouldReloadAll() {
return true;
}
});
Ya terminaste Demostración en Ember Twiddle .
La devolución true
de la función shouldReloadAll
básicamente le indica a Ember que findAll
modelos cada vez que llame findAll
método findAll
y solicite un incendio a su back-end.
Si sabe que estos datos no cambiarán, por ejemplo, durante los próximos 2 minutos, puede implementar alguna lógica en shouldReloadAll
que evite que Ember active una solicitud innecesaria (como comprobar si pasaron 2 minutos, si no, evitar la solicitud - return false
)
Consulte la documentación del método DS.Adapter.shouldReloadAll
para obtener más contexto.
Para cumplir con el nuevo comportamiento predeterminado, anular shouldReloadAll
como este:
function shouldReloadAll( store, snapshot ) {
return !store.peekAll( snapshot.type.modelName ).length
}