Angular.js自定义指令学习笔记实例


Posted in Javascript onFebruary 24, 2017

本文给大家分享angular.js学习笔记之自定义指令实例代码讲解,具体代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AngularDirective</title>
<script src="http://cdn.bootcss.com/angular.js/1.4.6/angular.js"></script>
</head>
<body ng-app="angularJS" >
<!-- <div class="self-direct">{{title}}<input type="text" ng-model='title'></div> -->
<!-- <input type="text" ng-model="color">
<self-direct color='{{color}}'></self-direct>
<self-direct m-color='{{color}}'></self-direct> -->
<!-- <input type="text" ng-model="color">
<self-direct color='color'></self-direct>如果采用双向绑定,指令中的属性值默认是变量,所以不用添加{{}}
<self-direct m-color='color'></self-direct> -->
<!-- <self-direct logo='logo()'></self-direct> -->
<!-- <self-direct ></self-direct> -->
<!-- <self-direct ></self-direct> -->
<self-direct title="JinDong" bgcolor="red" fontcolor="#fff"></self-direct>
<script type="text/javascript">
/*Angular.js自定义指令的格式和相关参数与其值:
let m=angular.module('angularJS',[]);
m.directive('selfDirect',[function(){//selfDirect表示自定义指令的名字,采用驼峰命名法,当restrict的值为E的时候:<self-direct></self-direct>
return {
restrict:'A/E/C',//A:Attrabute,E:Elements,C:class;restrict属性表示生成指令在页面中的表现形式,字母必须大写,不建议使用C,因为C的写法与CSS耦合性太强.
template:'<p>template选项表示指令在页面中显示的内容,template的值可以是字符串也可以是HTML的标签形式,也可以为函数,如:template:function(elle,attr){return '<span style="'color:'+attr['color']+'">'+ele.html()+'</span>'},view内容太多的时候不建议使用函数的形式</p>',
replace:true,//使用模板内容替换包含模板内容的父级标签
transclude:true,//其内容填充到ng-transclude指定的位置
templateUrl:'',//不可与template同时使用
scope:true,//默认为false,设置指令的作用域,当值为{}时,模板中的变量不会继承来自控制器中的属性值,
controller:['$scope',function($scope){$scope.data={...}}],//指令中的控制器
link:function(scope,elem,attr){},//用link完成对DOM的操作,scope:指令的作用域,elem:指令标签元素,attr:指令标签元素的属性数组,
};
}])
*/
var m=angular.module('angularJS',[]);
m.directive('selfDirect', [function () {
return {
restrict: 'E',
//template:'<h1><span ng-transclude=""></span>This is a Angular.js direction of self definition</h1><div ng-transclude=""></div>',
//replace:true,
//transclude:true,
//templateUrl:'viewModel.html',
//scope:{},
//template:'{{title}}<input type="text" ng-model="title">', 
//template:'<p style="color:{{color}}">suNing store</p><input ng-model="color">',
//scope:{color:'@mColor'},//控制器和指令隔离作用域@单项文本绑定,控制器可以影响指令中的数据,而指令不能影响控制器中的数据
//scope:{color:'=mColor'},//控制器和指令隔离作用域=双向文本绑定,控制器可以影响指令中的数据,指令也可以影响控制器中的data
//template:'<p>{{logo()}}</p>',
//scope:{logo:'&'},//用&符号调用父控制器中的方法
/*replace:true,
templateUrl:'viewModel.html',
controller:['$scope',function($scope){
$scope.data=[{
id:1,title:'puDong'
},{
id:2,title:'JinDong'
},{
id:3,title:'TianMao'
}];
}],*/
scope:{title:'@'},
link:function(scope,elem,attr){
$(elem).css({
backgroundColor:attr['bgcolor'],
color:attr['fontcolor']
}).html(scope.title);
},
};
}]);
/*m.controller('ctrl',['$scope',function($scope){
$scope.title='SuNing store';
$scope.color='red';
$scope.logo=function(){
return 'TianMao store';
};
}]);*/
</script>
</body>
</html>

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

Javascript 相关文章推荐
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
高性能JavaScript循环语句和条件语句
Jan 20 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
Jan 19 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
Feb 18 Javascript
node.js实现的装饰者模式示例
Sep 06 Javascript
如何理解Vue的v-model指令的使用方法
Jul 19 Javascript
对vue中v-if的常见使用方法详解
Sep 28 Javascript
VUE实现自身整体组件销毁的示例代码
Jan 13 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
如何用JavaScript学习算法复杂度
Apr 30 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 #Javascript
JavaScript和jQuery制作光棒效果
Feb 24 #Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 #Javascript
微信小程序实现实时圆形进度条的方法示例
Feb 24 #Javascript
JavaScript中三种常见的排序方法
Feb 24 #Javascript
Angular2 Service实现简单音乐播放器服务
Feb 24 #Javascript
Bootstrap3多级下拉菜单
Feb 24 #Javascript
You might like
如何写php程序?
2006/12/08 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
js常见表单应用技巧
2008/01/09 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
python贪吃蛇游戏代码
2020/04/18 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
python的range和linspace使用详解
2019/11/27 Python
python如何实现图片压缩
2020/09/11 Python
医科大学生毕业的自我评价分享
2013/11/12 职场文书
领导检查欢迎词
2014/01/14 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
三严三实学习心得体会
2014/10/13 职场文书
结婚司仪主持词
2015/06/29 职场文书
德劲DE1108畅想
2021/04/22 无线电
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
Pytest中skip skipif跳过用例详解
2021/06/30 Python
vue特效之翻牌动画
2022/04/20 Vue.js