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 相关文章推荐
Javascript & DHTML 实例编程(教程)基础知识
Jun 02 Javascript
jquery获取iframe中的dom对象(两种方法)
Jul 02 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
Oct 19 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
AngularJS表格样式简单设置方法示例
Mar 03 Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 Javascript
微信小程序实现弹出菜单功能
Jun 12 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
JS寄快递地址智能解析的实现代码
Jul 16 Javascript
JavaScript函数柯里化
Nov 07 Javascript
详解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
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
JS 常用校验函数
2009/03/26 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
python 基于opencv实现图像增强
2020/12/23 Python
超市端午节活动方案
2014/01/23 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
上课说话检讨书
2015/01/27 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
golang的文件创建及读写操作
2022/04/14 Golang