documentacion javascript angularjs events listener watch

javascript - documentacion - ng-if



Reloj Angular JS $ frente a $ en (1)

La función $watch se usa para ver variables en el alcance. La herencia del alcance también le permite ver las variables del ámbito principal, por lo que definitivamente es el camino a seguir para su caso de uso. Como dijo correctamente, $on se usa para ver eventos, que puede $broadcast a ámbitos secundarios o $emit a ámbitos principales. Esto le da mucho más control, pero puede causar más errores durante la codificación, ya que puede obtener una actualización de una variable de ámbito desde un punto que no supervisa y olvida notificar a los oyentes.

Aún puede usar eventos cuando no hereda variables de ámbito. Pero tenga cuidado de no contaminar un alcance grande, el uso de servicios puede ser una opción allí, porque inmediatamente se ve si se inyecta o no.

Dado que una directiva obtiene el alcance que tiene (o hereda de ella), yo diría que $watch es una opción mucho más clara aquí.

Si desea tener un alcance aislado en su directiva, puede pasar argumentos como atributos y $observe .

Quiero ejecutar una función dentro de una directiva, siempre que haya un cambio de estado en el alcance principal.

La forma obvia de lograr esto es usar difusiones de eventos ( $broadcast ) y oyentes ( $on ).

Tengo curiosidad si el uso de $ watch es una alternativa a la transmisión de eventos. Si es así, ¿cómo se comparan?

Por lo que yo entiendo, la expresión que se va a observar se evalúa cada $ ciclo de resumen. Entonces, ¿los eventos son más eficientes que ver?