AngularJS实现自定义指令及指令配置项的方法


Posted in Javascript onNovember 20, 2017

本文实例讲述了AngularJS实现自定义指令及指令配置项的方法。分享给大家供大家参考,具体如下:

AngularJS自定义指令有两种写法:

//第一种
angular.module('MyApp',[])
.directive('zl1',zl1)
.controller('con1',['$scope',func1]);
function zl1(){
  var directive={
    restrict:'AEC',
   template:'this is the it-first directive',
  };
  return directive;
};
function func1($scope){
  $scope.name="alice";
}
//第二种
angular.module('myApp',[]).directive('zl1',[ function(){
 return {
  restrict:'AE',
  template:'thirective',
  link:function($scope,elm,attr,controller){
   console.log("这是link");
  },
  controller:function($scope,$element,$attrs){
   console.log("这是con");
  }
 };
}]).controller('Con1',['$scope',function($scope){
 $scope.name="aliceqqq";
}]);

指令配置项

angular.module('myApp', []).directive('first', [ function(){
  return {
    // scope: false, // 默认值,共享父级作用域
    // controller: function($scope, $element, $attrs, $transclude) {},
    restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
    template: 'first name:{{name}}',
  };
}]).directive('second', [ function(){
  return {
    scope: true, // 继承父级作用域并创建指令自己的作用域
    // controller: function($scope, $element, $attrs, $transclude) {},
    restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
    //当修改这里的name时,second会在自己的作用域中新建一个name变量,与父级作用域中的
    // name相对独立,所以再修改父级中的name对second中的name就不会有影响了
    template: 'second name:{{name}}',
  };
}]).directive('third', [ function(){
  return {
    scope: {}, // 创建指令自己的独立作用域,与父级毫无关系
    // controller: function($scope, $element, $attrs, $transclude) {},
    restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
    template: 'third name:{{name}}',
  };
}])
.controller('DirectiveController', ['$scope', function($scope){
  $scope.name="mike";
}]);

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
总结AJAX相关JS代码片段和浏览器模型
Aug 15 Javascript
javascript 程序库的比较(一)之DOM功能
Apr 07 Javascript
javascript中直接写php代码的方法
Jul 31 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
Apr 20 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
JQuery球队选择实例
May 18 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
Nov 16 Javascript
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
javascript连接mysql与php通过odbc连接任意数据库的实例
Dec 27 Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 Javascript
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
详解webpack + react + react-router 如何实现懒加载
Nov 20 #Javascript
详细分析jsonp的原理和实现方式
Nov 20 #Javascript
three.js中文文档学习之通过模块导入
Nov 20 #Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 #Javascript
浅谈Vue SSR 的 Cookies 问题
Nov 20 #Javascript
three.js中文文档学习之创建场景
Nov 20 #Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 #Javascript
You might like
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
php的一个简单加密解密代码
2014/01/14 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
Symfony生成二维码的方法
2016/02/04 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
JavaScript中return false的用法
2015/03/12 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
requests和lxml实现爬虫的方法
2017/06/11 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
端午节活动总结
2014/08/26 职场文书
小学生运动会报道稿
2014/09/12 职场文书
采购内勤岗位职责
2015/04/13 职场文书
活动总结书怎么写
2015/05/11 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python