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 相关文章推荐
JavaScript游戏之优化篇
Nov 08 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
js对象继承之原型链继承实例
Jan 10 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
Mar 09 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
Oct 22 Javascript
Javascript异步编程async实现过程详解
Apr 02 Javascript
Node登录权限验证token验证实现的方法示例
May 25 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 header()函数常用方法总结
2014/04/11 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
显示、隐藏密码
2006/07/01 Javascript
jscript之List Excel Color Values
2007/06/13 Javascript
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
Vue filter介绍及其使用详解
2017/10/21 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
js实现弹窗效果
2020/08/09 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
python实现三次样条插值
2018/12/17 Python
python url 参数修改方法
2018/12/26 Python
Django模板Templates使用方法详解
2019/07/19 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
萤火虫之墓观后感
2015/06/05 职场文书