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 相关文章推荐
jquery表单验证使用插件formValidator
Nov 10 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
JS+CSS实现可拖动的弹出提示框
Feb 16 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
Aug 19 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
js实现不提示直接关闭网页窗口
Mar 30 Javascript
vue展示dicom文件医疗系统的实现代码
Aug 27 Javascript
分享一个vue项目“脚手架”项目的实现步骤
May 26 Javascript
java实现单链表增删改查的实例代码详解
Aug 30 Javascript
JS实现可视化音频效果的实例代码
Jan 16 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
Snoopy类使用小例子
2008/04/15 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
文本加密解密
2006/06/23 Javascript
jQuery插件 tabBox实现代码
2010/02/09 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
基于canvas粒子系统的构建详解
2017/08/31 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
python中随机函数random用法实例
2015/04/30 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
Oracle性能调优原则
2012/05/03 面试题
环保建议书400字
2014/05/14 职场文书
工程款催款函
2015/06/24 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
python绘制云雨图raincloud plot
2022/08/05 Python