Herramientas de usuario

Herramientas del sitio


unidades:04_masdirectivas:09_ngstyle

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
unidades:04_masdirectivas:09_ngstyle [2014/07/31 21:57] – adminunidades:04_masdirectivas:09_ngstyle [2014/08/29 23:07] (actual) – admin
Línea 1: Línea 1:
 ====== 4.9 ng-style ====== ====== 4.9 ng-style ======
-Esta directiva permite modificar el estilo CSS de un tag pero definiendo el estilo como un objeto del ''$scope''. Dicho objeto tendrá propiedades cuyo nombre de la propiedad será el nombre del estilo CSS y el valor de la propiedad será el valor del estilo CSS.+Esta directiva permite modificar el estilo CSS de un tag pero definiendo el estilo como un objeto del ''$scope''. Dicho objeto tendrá propiedades cuyo nombre será el nombre del estilo CSS y el valor de la propiedad será el valor del estilo CSS.
  
 Es decir que si creamos el siguiente objeto JavaScript en el ''$scope'': Es decir que si creamos el siguiente objeto JavaScript en el ''$scope'':
Línea 10: Línea 10:
 </sxh> </sxh>
  
-Y a un tag HTML le ponemos lo siguiente:+y a un tag HTML le ponemos lo siguiente:
 <sxh html> <sxh html>
 <div ng-style="estilo"  >Este es un texto con colores dinámicos</div> <div ng-style="estilo"  >Este es un texto con colores dinámicos</div>
 </sxh> </sxh>
 +
 +siendo ''estilo'' el nombre de la propiedad del ''$scope'' que tiene el objeto JavaScript con las propiedades CSS
  
 Se le pondrá al div el estilo siguiente: Se le pondrá al div el estilo siguiente:
   style="color:#FF0000;background-color:yellow"   style="color:#FF0000;background-color:yellow"
  
-Pero ahora todo esto tiene una ventaja. Al ser valores del ''$scope'' los podemos modificar desde AngularJS y automáticamente se modificará el estilo CSS.+Pero ahora todo ésto tiene una ventaja. Al ser valores del ''$scope'' los podemos modificar desde AngularJS y automáticamente se modificará el estilo CSS.
  
 Ahora podemos añadir los siguientes tags ''<input>'' para modificar desde la propia página los colores: Ahora podemos añadir los siguientes tags ''<input>'' para modificar desde la propia página los colores:
Línea 26: Línea 28:
 </sxh> </sxh>
  
 +<note tip>
 +Personalmente me sigue sorprendiendo lo fácil que es hacer modificaciones en el DOM solamente modificando información desde JavaScript. En este caso ha sido el estilo CSS, pero con ''ng-if'' , ''ng-repeat'' , ''ng-options'' o la siguiente que vamos a ver [[unidades:04_masdirectivas:10_ngclass|ng-class]] también es muy sencillo hacer modificaciones en el DOM. 
  
 +Con herramientas así usar jQuery para modificar el DOM parece cosa del siglo pasado. :-) 
 +</note>
 ====== Ejemplo ====== ====== Ejemplo ======
  
-<sxh html;title:index.html>+<sxh html;title:index.html;highlight: [14]>
 <!DOCTYPE html> <!DOCTYPE html>
 <html ng-app="app"> <html ng-app="app">
Línea 50: Línea 55:
 </sxh> </sxh>
  
-<sxh js;title:script.js>+  * Linea 14: Se indica la propiedad del ''$scope'' que tiene los estilos CSS del elemento 
 + 
 +<sxh js;title:script.js;highlight: [4,5,6,7]>
 var app = angular.module("app", []); var app = angular.module("app", []);
        
Línea 61: Línea 68:
 </sxh> </sxh>
  
-{{url>http://embed.plnkr.co/Ggeuo9}}+  * Linea 4: Se define la propiedad del ''$scope'' con los estilos CSS
  
 +{{url>http://embed.plnkr.co/Ggeuo9}}
 ====== Referencias ====== ====== Referencias ======
   * [[https://docs.angularjs.org/api/ng/directive/ngStyle|ng-style]]   * [[https://docs.angularjs.org/api/ng/directive/ngStyle|ng-style]]
unidades/04_masdirectivas/09_ngstyle.1406836666.txt.gz · Última modificación: por admin