Maison > interface Web > js tutoriel > Une introduction détaillée à la directive personnalisée d'Angularjs

Une introduction détaillée à la directive personnalisée d'Angularjs

黄舟
Libérer: 2017-05-27 10:40:34
original
1438 Les gens l'ont consulté

Directective est une fonctionnalité intéressante. Nous pouvons mettre en œuvre nos propres méthodes fonctionnelles. Ce qui suit est une introduction aux connaissances sur la directive personnalisée Angularjs à travers un exemple de code. Les amis intéressés peuvent apprendre ensemble

Aujourd'hui, apprenez la directive personnalisée Angularjs.

La directive est une fonctionnalité intéressante. Nous pouvons mettre en œuvre nos propres méthodes fonctionnelles.

L'exemple suivant vise à démontrer si le compte saisi par l'utilisateur dans la zone de texte est le compte de l'administrateur "Admin".

Mettez une zone de texte et un bouton sur la page Web :


<form id="form1" name="form1" ng-app="app" ng-controller="ctrl" novalidate>
  <input id="Text1" type="text" ng-model="Account" is-Administrator/>
  <br />
  <input id="ButtonVerify" type="button" value="Verify" ng-click="Verify();" />
 </form>
Copier après la connexion

Ensuite, vous devez Citer la bibliothèque de classes d'angularjs :

 @Scripts.Render("~/bundles/angular")
Copier après la connexion

Ce qui précède est regroupé par ASP.NET MVC.

Définir une application :

 var app = angular.module(&#39;app&#39;, []);
Copier après la connexion

Définir un Contrôleur :


app.controller(&#39;ctrl&#39;, function ($scope) {
   $scope.Account;
   $scope.Verify = function () {
    if ($scope.form1.$valid) {
     alert(&#39;OK.&#39;);
    }
    else {
     alert(&#39;failure.&#39;);
    }
   };
  });
Copier après la connexion

Ce qui suit est le code clé, les instructions personnalisées :


app.directive("isAdministrator", function ($q, $timeout) {
   var adminAccount = "Admin";
   var CheckIsAdministrator = function (account) {
    return adminAccount == account ? true : false;
   };
   return {
    restrict: "A",
    require: "ngModel",
    link: function (scope, element, attributes, ngModel) {
     ngModel.$asyncValidators.isAdministrator = function (value) {
      var defer = $q.defer();
      $timeout(function () {
       if (CheckIsAdministrator(value)) {
        defer.resolve();
       } else {
        defer.reject();
       }
      }, 700);
      return defer.promise;
     }
    }
   };
  });
Copier après la connexion

Démonstration :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal