Red de conocimiento informático - Conocimiento informático - Compare los diferentes modos de pensamiento de jQuery y AngularJS

Compare los diferentes modos de pensamiento de jQuery y AngularJS

jQuery se basa en DOM y AngularJS se basa en datos. Aquí hay un artículo que lo explica muy bien. Se recomienda leerlo.

Este artículo proviene de Cómo hacerlo. "Pienso en AngularJS" si estoy en StackOverFlow. La respuesta más votada a la pregunta "¿tiene experiencia en jQuery?" Esta respuesta ha recibido más de 3000 votos. El que respondió, Josh David Miller, es un desarrollador activo en la comunidad de código abierto y cofundador de Emergenesia. Esta respuesta fue traducida originalmente y publicada en su blog por el arquitecto de la nube de datos Han Zheng. Después de obtener el consentimiento de Josh, el propio Han Zheng la recomendó a InfoQ para compartirla y se publicó aquí después de ser revisada por el editor de la comunidad de InfoQ, Cui Kang.

1. No diseñes la página primero y luego uses operaciones DOM para cambiar su presentación.

En jQuery, normalmente diseñas una página y luego le das efectos dinámicos. Esto se debe a que jQuery está diseñado para expandir el DOM y crece locamente con esta simple premisa.

Pero en AngularJS, tienes que pensar en la arquitectura en tu cabeza desde el principio. Debe comenzar con la función que desea completar, luego diseñar la aplicación y finalmente diseñar la vista, en lugar de "Tengo un fragmento DOM de este tipo y quiero que logre efectos XXX".

2. No uses AngularJS para mejorar jQuery

Del mismo modo, no empieces con el siguiente pensamiento: usa jQuery para hacer X, Y y Z, y luego simplemente combina AngularJS. A esto se suman los modelos con controladores. Esto puede parecer muy tentador al principio, por lo que siempre recomiendo a los recién llegados a AngularJS que eviten usar jQuery en absoluto, al menos no hasta que se acostumbren a desarrollar en el "Modo Angular".

Veo muchos desarrolladores en la lista de correo creando estas soluciones complejas usando complementos jQuery que tienen 150 o 200 líneas de código, y luego pegándolos en AngularJS usando un montón de funciones de devolución de llamada y $apply. Parecía complicado y difícil de entender; ¡pero finalmente lo lograron! El caso es que, en la mayoría de los casos, estos complementos de jQuery se pueden reescribir con muy poco código AngularJS y todo es simple y directo de entender.

La conclusión aquí es: cuando elija una solución, primero "piense en AngularJS" si no puede pensar en una solución, busque ayuda en la comunidad; , entonces considere usar jQuery. Pero no dejes que jQuery sea tu muleta y nunca dominarás realmente AngularJS.

3. Piense siempre desde una perspectiva arquitectónica

En primer lugar, debe saber que una aplicación de una sola página es una aplicación, no una página web. Entonces, además de pensar como un desarrollador de clientes, también debemos pensar como un desarrollador de servidores. Debemos pensar en cómo dividir nuestras aplicaciones en componentes independientes, escalables y comprobables.

Entonces, ¿cómo hacerlo? ¿Cómo "pensar en AngularJS"? Aquí hay algunos principios básicos, en comparación con jQuery.

La vista es "Registro Oficial"

En jQuery, cambiamos la vista mediante programación.

Definiremos un menú desplegable como ul: