Función de enlace de directiva en AngularJS

Rana Hasnain Khan 15 febrero 2024
  1. Enlace Directivo en Angular
  2. Función de enlace de directiva en angular
Función de enlace de directiva en AngularJS

Presentaremos directivas y funciones de enlace de directivas en AngularJS y veremos ejemplos para comprenderlas.

Enlace Directivo en Angular

Las Directivas son los marcadores de elementos DOM que le dicen a AngularJS que extienda el HTML a los elementos DOM y sus hijos.

En AngularJS, la mayoría de las directivas comienzan con ng-, donde ng significa Angular. Hay muchas directivas integradas en AngularJS y también podemos crear directivas personalizadas para nuestra aplicación.

Algunas directivas integradas que se usan ampliamente son ng-app, ng-init, ng-model, ng-bind, etc.

Vamos a crear una nueva aplicación AngularJS para ver un ejemplo de directivas.

En primer lugar, agregaremos la biblioteca AngularJS usando etiquetas script.

# AngularJs
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script>

Ahora, definiremos la aplicación AngularJS usando ng-app.

# AngularJs
<body ng-app="">
   ...
</body>

Luego, definiremos un nombre de modelo usando la directiva ng-model y mostraremos el valor del modelo en un div.

# AngularJs
<input type="text" ng-model="name" />
    <div class="Identity-name">
       Hello {{name}}, Welcome Back!
    </div>

Producción:

ejemplo de directiva integrada de angularjs

Vamos a probarlo escribiendo el valor.

Producción:

ejemplo de directiva integrada de angularjs

Función de enlace de directiva en angular

Ahora analicemos la función de enlace de directiva en Angular mediante un ejemplo para comprender cómo crear una directiva personalizada en AngularJS.

Primero, configuraremos nuestra plantilla en index.html, incluida la biblioteca AngularJS, y definiremos la aplicación AngularJS usando ng-app="my-app". Dentro de nuestra aplicación, describiremos el controlador que será operado usando ng-controller="Controller".

Crearemos un div con un enlace de directiva personalizado lenguaje de programación dentro de nuestro controlador.

Nuestro código en index.html se verá como a continuación.

# AngularJs
<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Directive Link Function Example by Rana Hasnain Khan</title>
  <script src="//code.angularjs.org/snapshot/angular.min.js"></script>
  <script src="script.js"></script>
</head>
<body ng-app="my-app">
  <div ng-controller="Controller">
    <div programming-language></div>
  </div>
</body>
</html>

Ahora, en script.js dentro de nuestro controlador, definiremos un alcance para un idioma en el que proporcionaremos el nombre y la última versión de ese idioma.

# AngularJs
(function(angular) {
  'use strict';
angular.module('my-app', [])
  .controller('Controller', ['$scope', function($scope) {
    $scope.language = {
      name: 'Angular Js',
      version: '1.8.2'
    };
  }])

Usando la función directive link, vincularemos nuestra directiva programming-language y la función. Pasaremos la plantilla con valores del ámbito del lenguaje.

El código final en script.js se verá a continuación.

# AngularJs
(function(angular) {
  'use strict';
angular.module('my-app', [])
  .controller('Controller', ['$scope', function($scope) {
    $scope.language = {
      name: 'Angular Js',
      version: '1.8.2'
    };
  }])
  .directive('programmingLanguage', function() {
    return {
      template: 'Name: {{language.name}} <br> Version: {{language.version}}'
    };
  });
})(window.angular);

Producción:

ejemplo de directiva personalizada angularjs

De esta manera, podemos usar fácilmente directivas integradas y crear nuestras nuevas directivas personalizadas que se pueden usar para pasar valores o plantillas en archivos de plantilla.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Artículo relacionado - Angular Function