javascript - Obtención inicial de datos de backbone.js
(2)
Esta parte de la documentación está allí para recordarle que debe cargar todos los datos en la carga de la página inicial y utilizar la recuperación para todas las cargas posteriores.
Puedes tener un código como este:
MyCollection = new Collection({some json data});
Mucho más rápido que una carga de página que un par de solicitudes para cargar los datos.
He estado jugando con backbone.js durante los últimos días, editando el ejemplo de Todos y escribiendo mi propia versión.
Ahora estoy buscando crear un controlador con múltiples rutas, pero lo que he encontrado después de seguir el ejemplo de Todos es llamar a Todos.fetch()
, hace que los elementos se vuelvan a representar. Creo que está llamando el evento de actualización?
La documentación de backbone.js dice:
Tenga en cuenta que la recuperación no se debe usar para llenar colecciones en la carga de la página: todos los modelos necesarios en el momento de la carga ya deberían estar en su lugar. fetch está destinado a modelos de carga lenta para interfaces que no se necesitan de inmediato: por ejemplo, documentos con colecciones de notas que pueden activarse y cerrarse.
¿Cuál es la mejor manera de cargar datos entonces? ¿Puedo usar una llamada ajax para obtener los datos y pasarlos al crear una instancia del controlador principal? ¿Qué pasaría si tuviera que cambiar de página y se mostrara una nueva vista? ¿Podría simplemente llamar a la función fetch()
?
También estoy un poco confundido con la redacción del documento, pero fetch es la forma de decirle a su Colección o Modelo que vaya al servidor y obtenga los datos a través de su propia función de sincronización o Backbone.sync, que ya utiliza internamente ajax y puede pasar El resultado junto a su función de éxito o error.
En cuanto al ejemplo de Todos que mencionaste, así es como se supone que funciona Collection . Actualiza los modelos y, a continuación, activa el evento de "actualización" que puede forzar la reproducción de la vista, como ha dicho.
Recomiendo encarecidamente mirar el código Backbone.js. Está muy bien documentado y el flujo de eventos y llamadas a métodos es muy fácil de comprender debido a eso.