¿Cuáles son los conceptos clave sobre angularjs que debes saber para convertirte en experto?

Solo estoy familiarizado con el angular 1, así que solo explicaré eso.

Primero la filosofía. Si no comprende esto, no puede afirmar que conoce ningún ángulo .

Filosofía fundamental – Programación declarativa .

Angular vuelve a poner el declarativo en HTML. ¿Qué significa esto? Lo que ves es lo que quieres decir.

Ejemplos: si desea un calendario, declare . Si desea análisis, cuando el usuario se desplaza por contenido div, declara

.

Esto se logra mediante los mecanismos de

  • Directivas
  • Inyección de dependencia
  • Inyección de plantilla
  • Filtros

Filosofía fundamental 2 – Separación de la vista de la lógica / datos

Conocido popularmente como MVC, pero hay otras formas de manejarlo.

Filosofía fundamental 3 – Ámbitos de aplicación en cascada .

“Los datos fluyen hacia abajo, los eventos fluyen hacia arriba” (en realidad, desde el lado de ReactJS). Los ámbitos son un método para “heredar” datos (usan reglas de herencia prototípicas JS).

Otras cosas que debes saber .

  • No escriba controladores sin directivas . A menos que tengas un Damn Good Reason ™. No he encontrado uno todavía. Claramente, el equipo de Angular 2 tampoco ha encontrado uno.
  • Alcance de dominio .
    • ¿Cuándo se crean los nuevos ámbitos?
    • ¿Por qué nunca se debe asignar una variable primitiva directamente al alcance?
    • ¿Cómo hace referencia a los ámbitos primarios?
    • ¿Cómo obliga a un niño a no crear un nuevo alcance sino que hace referencia a uno de los padres?
      • Simplemente créelo primero en el alcance de los padres. Luego, otras tareas modificarán la que está dentro del alcance de los padres.
    • Cómo mirar el alcance.
    • Cómo vincular elementos dentro del alcance en varios formatos.
      • Ámbitos aislados. Ver: AngularJS Sticky Notes Pt 2 – Alcance aislado.
        Tenga en cuenta los conceptos de cadena, modelo y enlace de expresión.
      • Leyendo desde attr, usando $ eval para extraer el modelo, $ apply para ejecutar una función especificada en el alcance. (El concepto de eval-apply se aprende mejor a través de un lenguaje similar a lisp, como un esquema)
  • Dominio directivo
    • Cómo integrar componentes no angulares en un buen componente angularizado. Tus mejores amigos : $ timeout y alcance. $ Aplica.
    • ¿Cuándo debo usar compilar, controlador o enlace? Consulte: Diferencia entre las funciones ‘controlador’, ‘enlace’ y ‘compilación’ al definir una directiva
    • Orden de carga de compilación / controlador / enlace en directivas. Necesita esto si tiene la intención de anidar cosas felizmente o en caso de que su directiva inicialice / use cosas en un servicio. Ver: Domar AngularJS: Los ciclos de vida de una directiva de Kiryl. Presione arriba / abajo para ver las diapositivas relacionadas.
    • Carga diferida de directivas . Use ng-if en alguna condición de visibilidad.
  • Cómo abusar del objeto enrutador .
    • Cómo implementar rutas seguras. Enganche $ rootScope. $ On (‘$ stateChangeStart’, …).
    • Cómo almacenar información de tabulación.
    • Cómo limpiar el estado.
    • Cómo cargar rutas virtuales (Rutas que no existen hasta que las busque).
    • Cómo cargar lentamente el html en función de los params
  • Servicio de dominio .
    • Diferencia entre fábrica / proveedor / servicios.
    • Hacer cumplir la orden de carga del servicio.
    • .config vs .run
    • ¿Cuándo debe usar el proveedor ?
  • Cómo probar angular . Realmente no tengo idea de mí mismo = (.

Los siguientes son conceptos generales muy utilizados:

  • Separación de preocupaciones
  • Inyección de dependencia

Esos forman la base de cualquier uso si es angular. Para un poco más de especificidad, las siguientes son cosas específicas angulares que debe saber:

  • El bucle de digestión
  • Alcance
  • Directivas
  • Promesas ($ q)
  • Filtros