AngularJS Directivas
AngularJS, mediante las llamadasdirectivas, extiende HTMLcon nuevos atributos.
AngularJS agrega funcionalidades a las aplicaciones mediante directivas integradas.
AngularJS te permite crear directivas personalizadas.
Directivas de AngularJS
Las directivas AngularJS son atributos HTML ampliados, con un prefijong-。
ng-appLa directiva inicializa una aplicación AngularJS.
ng-initLa directiva inicializa los datos de la aplicación.
ng-modelLa directiva vincula los valores del elemento (por ejemplo, el valor de un campo de entrada) a la aplicación.
El contenido completo de las directivas se puede consultar en elManual de referencia de AngularJS。
Ejemplo de AngularJS
Pruébalo »
ng-appLa directiva le dice a AngularJS que el elemento <div> es el 'propietario' de laaplicaciónAngularJS.
Enlace de datos
En el ejemplo anterior,{{ firstName }}la expresión es una expresión de enlace de datos de AngularJS.
El enlace de datos en AngularJS sincroniza las expresiones AngularJS con los datos de AngularJS.
{{ firstName }}se realiza medianteng-model="firstName"la sincronización.
En el siguiente ejemplo, dos campos de texto se sincronizan mediante dos directivas ng-model:
Ejemplo de AngularJS
Pruébalo »
![]() |
El uso deng-initno es muy común. Aprenderá una mejor forma de inicializar datos en el capítulo de controladores. |
|---|
Repetir elementos HTML
ng-repeatLa directiva repite un elemento HTML:
Ejemplo de AngularJS
Pruébalo »
ng-repeatLa directiva se usa en un array de objetos:
Ejemplo de AngularJS
Pruébalo »
![]() |
AngularJS es perfecto para aplicaciones CRUD (Create, Read, Update, Delete) de bases de datos. Imagina los objetos del ejemplo como registros de una base de datos. |
|---|
Directiva ng-app
ng-appLa directiva define elelemento raíz。
ng-appLa directiva, cuando la página Web termina de cargarse,arranca automáticamente(inicializa automáticamente) la aplicación.
Más adelante aprenderáng-appcómo conectarse a un módulo de código mediante un valor (por ejemplo, ng-app="myModule").
Directiva ng-init
ng-initLa directiva define elvalor inicial。
Normalmente, no se usa ng-init. En su lugar, se utiliza un controlador o un módulo.
Más adelante aprenderá más sobre controladores y módulos.
Directiva ng-model
ng-modelLa directivavincula elementos HTMLa los datos de la aplicación.
ng-modelLa directiva también puede:
- Proporcionar validación de tipos para los datos de la aplicación (number, email, required).
- Proporcionar estado para los datos de la aplicación (invalid, dirty, touched, error).
- Proporcionar clases CSS para elementos HTML.
- Vincular elementos HTML a formularios HTML.
Directiva ng-repeat
ng-repeatLa directiva, para cada elemento de la colección (array),clona una vez el elemento HTML。
Crear directivas personalizadas
Además de las directivas integradas en AngularJS, también podemos crear directivas personalizadas.
Puedes usar la.directivefunción .directive para agregar directivas personalizadas.
Para llamar a una directiva personalizada, se debe añadir el nombre de la directiva personalizada en el elemento HTML.
Use el método camelCase para nombrar una directiva, ejemploDirectivepero al usarla, hay que separarla con-un guion.ejemplo-directive:
Ejemplo de AngularJS
<ejemplo-directive></ejemplo-directive>
<script>
var app = angular.module("myApp", []);
app.directive("ejemploDirective", function() {
return {
template : "<h1>¡Directiva personalizada!</h1>"
};
});
</script>
</body>
Pruébalo »
Puedes llamar a la directiva de las siguientes maneras:
- Nombre de elemento
- Atributo
- Nombre de clase
- Comentario
Los siguientes ejemplos también producen el mismo resultado:
Restricciones de uso
Puedes restringir tu directiva para que solo se llame de ciertas maneras.
Ejemplo
Al agregarrestrictel atributo restrict, y estableciendo el valor en"A"'A', para configurar la directiva de modo que solo se pueda invocar como atributo:
app.directive("ejemploDirective", function() {
return {
restrict : "A",
template : "<h1>¡Directiva personalizada!</h1>"
};
});
Pruébalo »
restrictEl valor puede ser uno de los siguientes:
EUsar como nombre de elementoAUsar como atributoCUsar como nombre de claseMUsar como comentario
restrictEl valor predeterminado esEA, es decir, la directiva se puede invocar por nombre de elemento y nombre de atributo.
