Evite que la notación de doble llave se muestre momentáneamente antes de que angular.js compile/interpola el documento

Resuelto JeremyWeir asked hace 11 años • 7 respuestas

Parece ser principalmente un problema en IE cuando hay una cantidad de imágenes/scripts para cargar, puede haber una buena cantidad de tiempo en el que el literal {{stringExpression}}en el marcado se muestra y luego desaparece una vez que angular termina con su compilación/interpolación de el documento.

¿Existe alguna razón común por la cual sucedería esto que indicaría que estoy haciendo algo generalmente incorrecto, o existe alguna forma conocida de evitarlo?

JeremyWeir avatar Oct 13 '12 03:10 JeremyWeir
Aceptado

Creo que estás buscando la ngCloakdirectiva: https://docs.angularjs.org/api/ng/directive/ngCloak

De la documentación:

La directiva ngCloak se utiliza para evitar que el navegador muestre brevemente la plantilla html de Angular en su forma sin procesar (sin compilar) mientras se carga la aplicación. Utilice esta directiva para evitar el efecto de parpadeo no deseado causado por la visualización de la plantilla html.

La directiva se puede aplicar al <body>elemento, pero el uso preferido es aplicar múltiples ngCloak directivas a pequeñas porciones de la página para permitir la representación progresiva de la vista del navegador.

pkozlowski.opensource avatar Oct 12 '2012 20:10 pkozlowski.opensource

Además, puedes utilizar <span ng-bind="hello"></span>en lugar de {{hello}}.

http://jsfiddle.net/4LhN9/34/

Andrew Joslin avatar Oct 12 '2012 20:10 Andrew Joslin

Para mejorar la efectividad del enfoque class='ng-cloak' cuando los scripts se cargan por última vez, asegúrese de que el siguiente CSS esté cargado en el encabezado del documento:

.ng-cloak { display:none; }
LOAS avatar Jul 28 '2013 08:07 LOAS