Parece ser principalmente un problema en IE cuando hay una cantidad de imágenes / scripts para cargar, puede haber una buena cantidad de tiempo {{stringExpression}}
en el que se muestra el literal en el marcado, luego desaparece una vez que se hace angular con su compilación / interpolación de el documento.
¿Hay alguna razón común por la que esto sucedería que indique que estoy haciendo algo generalmente mal, o hay una forma conocida de prevenir esto?
Respuestas:
Creo que está buscando la
ngCloak
directiva: https://docs.angularjs.org/api/ng/directive/ngCloakDe la documentación:
fuente
ngCloak
una práctica generalizada / mejor práctica? Parece obvio, pero no tengo experiencia en AngularJS.<head>
sección de su html parangCloak
que sea efectivo.angular.js
en la<head>
sección de mi página.Además, puede usar en
<span ng-bind="hello"></span>
lugar de{{hello}}
.http://jsfiddle.net/4LhN9/34/
fuente
Para mejorar la efectividad del enfoque class = 'ng-cloak' cuando los scripts se cargan en último lugar, asegúrese de que el siguiente css esté cargado en el encabezado del documento:
fuente
visibility: hidden
sería mejor?!important
es un hack CSS (algo malo) para promover un estilo para ser seleccionado, ¿verdad? Rompe las reglas del selector CSS.Simplemente agregue el CSS de ocultamiento al encabezado de la página o a uno de sus archivos CSS:
Luego puede usar la directiva ngCloak de acuerdo con la práctica angular normal, y funcionará incluso antes de que se cargue Angular.
Esto es exactamente lo que hace Angular: el código al final de angular.js agrega las reglas CSS anteriores al encabezado de la página.
fuente
[ngcloak]
selector yo mismo, pero esto es más completo.En su CSS agregue lo siguiente
Y luego, en su código, puede agregar la directiva ng-cloak. Por ejemplo,
¡Eso es!
fuente
También puede usar en
ng-attr-src="{{variable}}"
lugar desrc="{{variable}}"
y el atributo solo se generará una vez que el compilador compiló las plantillas. Esto se menciona aquí en la documentación: https://docs.angularjs.org/guide/directive#-ngattr-attribute-bindingsfuente
Estoy de acuerdo con la respuesta @ pkozlowski.opensource, pero la clase ng-clock no me funcionó para usar con ng-repeat. así que me gustaría recomendarle que use la clase para una expresión delimitadora simple como {{name}} y la directiva ngCloak para ng-repeat.
y
fuente