Red de Respuestas Legales - Leyes y reglamentos - ¿A qué debe prestar atención al desarrollar un sitio web como Zhihu usando angularjs slim?

¿A qué debe prestar atención al desarrollar un sitio web como Zhihu usando angularjs slim?

Autor: Xu Fei

Enlace: /question/26712920/answer/33768647

Fuente: Zhihu.

Los derechos de autor pertenecen al autor. Comuníquese con el autor para obtener autorización.

Te doy un consejo personal:

Desde la perspectiva del producto, está bien usar Angular, pero en este caso no es necesario introducir jQuery. BootStrap es una opción adecuada, pero el estilo es suficiente y no es necesario presentar su JS. Debido a que la interfaz de usuario de su producto no es muy compleja y no requiere manipulación manual del DOM, es posible que deba introducir una biblioteca JS además de Angular, también habrá varios editores de texto similares, resaltado de código, etc. Lo miré rápidamente y pensé que se había manejado bien.

El enrutamiento también está planificado, lo cual es bueno, pero el prefijo predeterminado es un poco extraño. . .

Tengo algo que decir sobre el código del controlador.

El código en realidad no tiene capas. El llamado controlador en Angular es en realidad un modelo de vista, y las cosas que contiene deberían ser básicamente lo que la vista necesita directamente. ¿Qué quiere decir esto? Si tiene un proceso que no es particularmente simple y la vista solo necesita los resultados de este proceso, puede impulsar el proceso y convertirlo en un servicio, y luego obtener los datos en el controlador llamando al servicio.

Cuando obtienes este código, dice que tu código relacionado con la recuperación de datos se puede extraer, que es $http.get, porque es probable que estas cosas se reutilicen en diferentes controladores, así que si las pones en diferentes servicios según el tipo, los métodos en cada servicio devolverán promesas, que serán más claras. Si aún necesita disfrutar de los datos, por ejemplo, algunos datos de múltiples vistas en la interfaz deben sincronizarse globalmente, también puede usar el servicio para crear una tienda y almacenar el modelo de datos en un singleton, de modo que se puedan usar diferentes modelos de vista. mantenidos unidos.

Además, en algunas partes estás tratando con código DOM directamente en el controlador, lo cual no es bueno. Cosas como esta generalmente se envían a directivas por separado, así que no las coloque en el modelo de vista. Piensa en esta parte nuevamente.