¿Cómo se organizan las clases del modelo de visualización? Clases separadas o una gigante (¿y cómo modularizar la gigante)? ¿Cómo cambiar entre 'páginas' (con datos cargados con ajax por supuesto)? ¿Cómo cargar plantillas para backbonejs después de cargar la página? Los ejemplos y tutoriales se apreciarán siempre que sean más avanzados que los de su sitio.¿Cómo hacer una aplicación de una sola página con knockout.js?
Respuesta
Guau, muchas preguntas, todo en uno. Trataré de golpearlos aquí, pero una advertencia de que estoy escribiendo un curso completo para Pluralsight en Knockout ... así que no puedo profundizar en la necesidad de un cuadro de comentarios :)
1) Cómo ¿organizas clases de vista modelo?
Creo que te refieres a las clases de view-model. Recomiendo crear un modelo de vista que contenga todas las propiedades y métodos que requiere la página. Coloque el modelo de vista en un gabinete y mantenga todo ese javascript en su propio archivo. Por ejemplo, si tiene la página customers.html para su estructura, puede tener customers.js para con su modelo de vista.
2) Clases separadas o una gigante (¿y cómo modularizar la gigante)?
Cada modelo de vista está en su propio archivo. En general, 1 muestra el modelo por archivo js (pero ciertamente podría poner los interrelacionados en el mismo archivo). Además, en general 1 vista modelo por vista (pero, de nuevo, puede ir más allá de esto en algunos casos).
Para los modelos, puede crearlos todos en un solo archivo de modelos si lo desea, o ponerlos en archivos separados. Para aplicaciones más pequeñas, me gustan los archivos 1 models.js, ya que la mayoría de los modelos son bastante sencillos, pequeños y contienen propiedades simples (aunque observables). Pero aquí, realmente es una cuestión de elección.
3) ¿Cómo cambiar de página?
El mecanismo no es específico de Knockout, por lo que puede utilizar enlaces o incluso controles personalizados (menús, pestañas, etc.). Tu llamada. Una vez que decide cómo navegar a una página diferente, supongo que necesita pasar datos entre los 2 para el contexto. Una forma de hacerlo es en la cadena de consulta con una ID, otra forma es el almacenamiento local (para artículos más grandes que necesita almacenar en el cliente), o hay otras opciones también. Nuevamente, realmente depende de lo que necesita pasar entre las páginas. Muchas veces diseño las páginas para que sean autosuficientes, así que no necesito pasar mucho entre ellas. Para lo que necesito pasar, intento enviar lo menos que puedo y buscar datos basados en claves (en llamadas ajax o almacenamiento local ... dondequiera que vivan los datos).
Espero que esto ayude un poco.
ACTUALIZACIÓN: Here is the link I mentioned to my Knockout.js course on Pluralsight
¡Gracias por la respuesta! Solo para aclarar, piensas que es mejor tener un modelo de vista con ko.applyBindings para cada 'página' (entre comillas, ya que es una aplicación de una sola página, pero ya sabes, cada vista única). – sdfadfaasd
Parece que podría tener una página donde hay múltiples "regiones" (o mini vistas) en la página. En ese caso, podría mirarlo ya que tiene muchas vistas, y cada una de esas vistas tiene un modelo de vista ... luego hay un modelo de vista maestro/principal para todo el conjunto de modelos de vista. Pero estoy haciendo muchas suposiciones aquí. Es posible que desee comenzar con un modelo de vista maestra para la aplicación de una sola página y simplemente comience a agregar modelos de subvista adicionales según sea necesario. –
- 1. ¿Cómo controlar una aplicación web de una sola página?
- 2. Autenticación para usuarios en una aplicación de una sola página?
- 3. ¿Cómo hacer varias parcelas en una sola página usando matplotlib?
- 4. ¿Cómo uso MiniProfiler con una aplicación web de una sola página/backend REST?
- 5. ¿Cómo hacer la autenticación de Dropbox en una aplicación de una sola página sin abrir una nueva ventana?
- 6. MVC 4 Aplicación de una sola página y DateTime
- 7. MVC4 Aplicación de una sola página: varias pantallas
- 8. MVC 4 SPA (Aplicación de una sola página) aclaración
- 9. Una sola página de aplicaciones javascript
- 10. ¿Cómo se manejan las URL no root en una aplicación de una sola página?
- 11. ¿Cómo hacer la expansión de una sola fila con CellTable?
- 12. ¿Agregar una sola página de ASP.Net MVC a una aplicación de formularios web existente?
- 13. ¿Arquitectura de una aplicación web de JavaScript de una sola página?
- 14. HTML5 canvas múltiple en una sola página
- 15. Escala PDF a una sola página
- 16. Múltiples formularios en una sola página HTML: cómo restringir la tabulación a una sola forma?
- 17. imprimir css: encajar en una sola página
- 18. Múltiples etiquetas h1 en una sola página
- 19. hacer un CD de una sola ejecución
- 20. mejores prácticas de gestión de código JavaScript en una aplicación de una sola página
- 21. ¿Cómo mejorar el rendimiento de la aplicación de una sola página?
- 22. MVVM con Knockout.js
- 23. Back-end apropiado para una aplicación web de una sola página?
- 24. Asegurar una sola instancia de una aplicación en Linux
- 25. Mostrando paginación con una sola página usando will_paginate
- 26. Hacer una consulta de una sola vez a una base de datos diferente y mesa
- 27. ¿Cómo vincular a la página de una sola página de autor/compañía en la App Store?
- 28. cómo hacer una actualización de página parcial con jquery
- 29. PhoneGap ¿Desactivar pantalla girar en una sola página?
- 30. Asegurar una sola instancia de aplicación
Mirando hacia adelante a algunas respuestas aquí. – Domenic