¿Cómo puedo almacenar en caché el resultado de una llamada de búsqueda usando requireJs?
Frecuentes
Visto 76 veces
1
Tengo varias vistas cuyo resultado de representación depende de la misma colección y luego de otros modelos o colecciones:
Ejemplos:
View1 -> model1, commonCollection
View2 -> collection2, commonCollection
View3 -> model3, commonCollection
En este momento, para resolver el problema, hago commonCollection.fetch para cada vista… y antes de renderizar la página, espero que cada modelo/colección esté lista para cada vista, como se explica en esta respuesta.
Pero dado que el resultado de commonCollection es el mismo, me gustaría almacenar en caché el resultado para usarlo en otras vistas.
¿Cómo puedo almacenar en caché el resultado de commonCollection sin usar variables globales? Estoy usando RequireJs
1 Respuestas
2
no puedes simplemente anular fetch
en la colección común para hacer el almacenamiento en caché?
Backbone.Collection.extend({
...
fetch: function(options) {
if (alreadyUpdated) {
// do nothing
} else {
return Backbone.Collection.prototype.fetch.apply(this, arguments);
}
}
...
});
Aquí hay un violín de un ejemplo más completo: http://jsfiddle.net/4A8Wu/2/
contestado el 22 de mayo de 12 a las 01:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript backbone.js requirejs or haz tu propia pregunta.
¿Dónde/cómo debo definir
alreadyUpdated
tener memoria de este resultado en mi commonCollection? Gracias - antonjs@AntoJs Hice un violín que espero te ayude: jsfiddle.net/4A8Wu/2 - matt wonlaw