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 相关文章推荐
mapper--图片热点区域高亮组件官方站点
Dec 22 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
善用事件代理,警惕闭包的性能陷阱。
Jan 20 Javascript
javascript定时变换图片实例代码
Mar 17 Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 Javascript
js document.write()使用介绍
Feb 21 Javascript
js下将金额数字每三位一逗号分隔
Feb 19 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
Nov 07 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
jquery实现选项卡切换代码实例
May 14 jQuery
javascript实现前端分页效果
Jun 24 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/10/09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
google地图的路线实现代码
2009/08/20 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
JS判断一个数是否是水仙花数
2017/06/11 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
Python实现自动上京东抢手机
2018/02/06 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
对pandas中to_dict的用法详解
2018/06/05 Python
关于python3中setup.py小概念解析
2019/08/22 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
日期和时间问题
2015/01/04 面试题
自考生毕业自我鉴定
2013/10/10 职场文书
中年人生感言
2014/02/04 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
史上最牛辞职信
2015/05/13 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers