Red de conocimiento informático - Consumibles informáticos - ¿A qué debe prestar atención al desarrollar un sitio web similar a Zhihu usando angularjs slim?

¿A qué debe prestar atención al desarrollar un sitio web similar a 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 para la reimpresión.

Le doy algunas sugerencias personales:

En términos de forma del producto, está bien usar Angular, pero en este caso no es necesario introducir jQuery. Introducir BootStrap es una opción adecuada, pero introducir estilos es suficiente y no es necesario presentar su JS. Debido a que la complejidad de la interfaz de usuario de su producto no es alta, básicamente no es necesario manipular manualmente el DOM en ningún lugar, por lo que es posible que deba introducir una biblioteca JS, además de Angular, habrá varios editores de texto y resaltadores de código. Le eché un vistazo rápido y pensé que se había manejado bien.

También se ha planificado el enrutamiento, lo cual es bueno, pero el prefijo predeterminado es un poco extraño. . .

Tengo algo que decir sobre esta parte del código del controlador.

El código en realidad no tiene capas. El llamado controlador en Angular es en realidad un modelo de vista. Las cosas que contiene deberían ser básicamente las cosas que la vista necesita "directamente". Si tiene un proceso que no es particularmente simple y la vista solo necesita el resultado de este proceso, puede eliminar el proceso y convertirlo en un servicio, y luego obtener los datos llamando al servicio en el controlador.

Cuando obtienes este código, dice que tu código relacionado con datos se puede extraer, como $http.get, porque es probable que estas cosas se dupliquen en diferentes controladores. Úsalo, así que si lo pones. En diferentes servicios según el tipo, y los métodos en cada promesa de devolución de servicio, será más claro. Si aún necesita compartir datos, por ejemplo, parte de los datos en múltiples vistas de la interfaz deben sincronizarse globalmente, también puede usar el servicio para crear una tienda y almacenar este modelo de datos en una sola instancia para que diferentes vistas puedan Los modelos se mantienen unidos.

Además, en algunas partes, procesa directamente el código DOM en el controlador, lo cual no es bueno. Cosas como esta generalmente se colocan en la directiva por separado y no deben colocarse en el modelo de vista. Piensa en esta parte nuevamente.