unidades:09_directivas:02_scope
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| unidades:09_directivas:02_scope [2014/08/29 14:18] – admin | unidades:09_directivas:02_scope [2015/02/15 09:47] (actual) – [Enlace unidireccional vs bidireccional] admin | ||
|---|---|---|---|
| Línea 114: | Línea 114: | ||
| | | ||
| } | } | ||
| + | } | ||
| | | ||
| return directiveDefinitionObject; | return directiveDefinitionObject; | ||
| Línea 136: | Línea 137: | ||
| texto:" | texto:" | ||
| } | } | ||
| + | } | ||
| | | ||
| return directiveDefinitionObject; | return directiveDefinitionObject; | ||
| Línea 193: | Línea 195: | ||
| texto:" | texto:" | ||
| } | } | ||
| + | } | ||
| | | ||
| return directiveDefinitionObject; | return directiveDefinitionObject; | ||
| Línea 221: | Línea 224: | ||
| Vamos ahora a cambiar la directiva para añadir un botón que cambie el valor del '' | Vamos ahora a cambiar la directiva para añadir un botón que cambie el valor del '' | ||
| - | <sxh js; | + | <sxh js; |
| app.directive(" | app.directive(" | ||
| | | ||
| Línea 227: | Línea 230: | ||
| restrict:" | restrict:" | ||
| replace : true, | replace : true, | ||
| - | template:"< | + | template:"< |
| scope:{ | scope:{ | ||
| texto:" | texto:" | ||
| Línea 236: | Línea 239: | ||
| }]); | }]); | ||
| </ | </ | ||
| + | * Ahora la directiva incluye un botón que al pincharlo hace lo siguiente: '' | ||
| + | Si pinchamos en el botón se cambiaría también la propiedad '' | ||
| + | * Si hay un cambio en el '' | ||
| + | * Si hay un cambio en el '' | ||
| + | |||
| + | <note tip> | ||
| ¿Que ocurre si usando '' | ¿Que ocurre si usando '' | ||
| <sxh html> | <sxh html> | ||
| < | < | ||
| </ | </ | ||
| - | Hay que fijarse en los 2 apostrofes que hemos puesto antes y después del texto. | + | Hay que fijarse en los 2 apostrofes que hemos puesto antes y después del texto |
| + | .</ | ||
| + | ==== Enlace unidireccional vs bidireccional ==== | ||
| + | Ahora que hemos visto los tipos de enlacen unidireccionales y bidireccionales vamos ha hacer una comparativa entre ellos | ||
| + | ^ ^ Enlace unidireccional | ||
| + | | Carácter usado | '' | ||
| + | | Expresión para enlazar a valores literales | '' | ||
| + | | Expresión para enlazar a propiedades del '' | ||
| + | | Si se modifica la propiedad del '' | ||
| + | | Si se modifica la propiedad del '' | ||
| + | |||
| + | Ahora la pregunta que nos queda es: ¿cuando usar uno u otro? | ||
| + | La respuesta es sencilla, solo depende de si vamos a necesitar cambiar una propiedad del '' | ||
| + | * Si queremos cambiar una propiedad del '' | ||
| + | * Si **NO** queremos cambiar una propiedad del '' | ||
| + | |||
| + | |||
| + | < | ||
| + | Hay un tipo más de enlace que se usa para enlazar funciones. El carácter usado es "&" | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Distintos nombres ==== | ||
| + | Una última característica que nos permite AngularJS al enlazar con las propiedades del '' | ||
| + | |||
| + | Imaginemos que hemos decidido que el atributo '' | ||
| + | |||
| + | La directiva ahora se utilizaría de la siguiente manera: | ||
| + | |||
| + | <sxh html> | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | Pero hemos decidido que no queremos cambiar la propiedad del '' | ||
| + | |||
| + | <sxh js; | ||
| + | app.directive(" | ||
| + | |||
| + | var directiveDefinitionObject ={ | ||
| + | restrict:" | ||
| + | replace : true, | ||
| + | template:"< | ||
| + | scope:{ | ||
| + | texto:" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | return directiveDefinitionObject; | ||
| + | }]); | ||
| + | </ | ||
| + | * Línea 8: Al ser distinto el nombre del atributo y el nombre de la propiedad del '' | ||
| + | |||
| + | Y ahora ya podemos usar la directiva con el atributo " | ||
| ===== Ejemplo ===== | ===== Ejemplo ===== | ||
| + | El ejemplo consiste en hacer 2 directivas como la última que hemos usado , la del botón, pero que una de ellas tanga enlace unidireccional y la otra enlace bidireccional. | ||
| + | * acTituloUnidireccional | ||
| + | * acTituloBidireccional | ||
| - | {{url> | + | Tendremos 2 propiedades en el '' |
| + | * '' | ||
| + | * '' | ||
| + | Al pulsar sobre los botones " | ||
| + | |||
| + | Al pulsar sobre los botones " | ||
| + | |||
| + | |||
| + | {{url> | ||
| ===== Referencias ===== | ===== Referencias ===== | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
unidades/09_directivas/02_scope.1409314703.txt.gz · Última modificación: por admin
