Angularjs自定义指令Directive详解


Posted in Javascript onMay 27, 2017

今天学习angularjs自定义指令Directive。

Directive是一个非常棒的功能。可以实现我们自义的的功能方法。

下面的例子是演示用户在文本框输入的帐号是否为管理员的帐号"Admin"。

在网页上放一个文本框和一个铵钮:

Angularjs自定义指令Directive详解

<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>

然后你需要引用angularjs的类库:

@Scripts.Render("~/bundles/angular")

以上是ASP.NET MVC bundle了。

定义一个App:

var app = angular.module('app', []);

定义一个控制器:

Angularjs自定义指令Directive详解

app.controller('ctrl', function ($scope) {
   $scope.Account;
   $scope.Verify = function () {
    if ($scope.form1.$valid) {
     alert('OK.');
    }
    else {
     alert('failure.');
    }
   };
  });

下面是重点代码,自定义指令:

Angularjs自定义指令Directive详解

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;
     }
    }
   };
  });

演示:

Angularjs自定义指令Directive详解

以上所述是小编给大家介绍的Angularjs自定义指令Directive详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
Jun 19 Javascript
三种方式获取XMLHttpRequest对象
Apr 21 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
Nov 30 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
Dec 07 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
Feb 16 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 Javascript
node.js 利用流实现读写同步,边读边写的方法
Sep 11 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
JavaScript实现随机五位数验证码
Sep 27 Javascript
webpack4 optimization使用总结
Nov 10 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
May 13 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 Vue.js
react-redux中connect()方法详细解析
May 27 #Javascript
react-router实现跳转传值的方法示例
May 27 #Javascript
简单实现JavaScript弹幕效果
Aug 27 #Javascript
Node.js中多进程模块Cluster的介绍与使用
May 27 #Javascript
详解webpack打包vue时提取css
May 26 #Javascript
jQuery插件imgAreaSelect基础讲解
May 26 #jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 #jQuery
You might like
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
jquery之Document元素选择器篇
2008/08/14 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
探究python中open函数的使用
2016/03/01 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
Python中Qslider控件实操详解
2021/02/20 Python
拾金不昧的表扬信
2014/01/16 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
新教师个人总结
2015/02/06 职场文书
贪污检举信范文
2015/03/02 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
单方投资意向书
2015/05/11 职场文书
中秋节主题班会
2015/08/14 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
一条 SQL 语句执行过程
2022/03/17 MySQL