Por qué mezclar interpolación y expresiones es una mala práctica

Resuelto georgeawg asked hace 6 años • 2 respuestas

De los documentos:

Incrustar marcado de interpolación dentro de expresiones

Nota: Los atributos de la directiva AngularJS toman expresiones o marcas de interpolación con expresiones incrustadas. Se considera una mala práctica incrustar un marcado de interpolación dentro de una expresión:

— Guía para desarrolladores de AngularJS: interpolación

Estoy buscando una respuesta canónica bien escrita a la que pueda indicar a los lectores.

georgeawg avatar Jul 30 '18 17:07 georgeawg
Aceptado

De los documentos:

Por qué mezclar interpolación y expresiones es una mala práctica:

  • Aumenta la complejidad del marcado.

  • No hay garantía de que funcione para todas las directivas, porque la interpolación en sí misma es una directiva. Si otra directiva accede a los datos de atributos antes de que se haya ejecutado la interpolación, obtendrá el marcado de interpolación sin procesar y no los datos.

  • Afecta el rendimiento, ya que la interpolación agrega otro observador al alcance.

Guía para desarrolladores de AngularJS: interpolación

Daniel avatar Jul 30 '2018 10:07 Daniel

Las directivas que esperan valores booleanos no funcionarán:

ERRÓNEO

<input type="checkbox" ng-hide ="{{x.thenumber === null}}" />

Cuando la expresión se evalúa como un valor booleano false, la interpolación devolverá la cadena "false". Las cadenas que tienen una longitud mayor que cero son verdaderas . La ng-hidedirectiva siempre ocultará y nunca mostrará el elemento de entrada.

CORRECTO

 <input type="checkbox" ng-hide="x.thenumber === null" />
georgeawg avatar Aug 03 '2018 00:08 georgeawg