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刷新框架子页面的七种方法代码
Nov 20 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
jQuery循环滚动新闻列表示例代码
Jun 17 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
js+html5绘制图片到canvas的方法
Jun 05 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 Javascript
实例详解vue中的$root和$parent
Apr 29 Javascript
一个手写的vue放大镜效果
Aug 09 Javascript
react结合bootstrap实现评论功能
May 30 Javascript
vue里使用create, mounted调用方法
Apr 26 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
星际原理概述
2020/03/04 星际争霸
Yii2.0预定义的别名功能小结
2016/07/04 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
网页中CDATA标记的说明
2010/09/12 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python获取代码运行时间的实例代码
2018/06/11 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
python3对接mysql数据库实例详解
2019/04/30 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python各种扩展名区别点整理
2020/02/27 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
国际书籍零售商:Wordery
2017/11/01 全球购物
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
部队领导证婚词
2014/01/12 职场文书
大型演出策划方案
2014/05/28 职场文书
行政部经理助理岗位职责
2014/06/15 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript