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中使用构造器创建对象无需new的情况说明
Mar 01 Javascript
javascript返回顶部效果(自写代码)
Jan 06 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
Oct 18 Javascript
jQuery实现360°全景拖动展示
Mar 18 Javascript
jQuery实现图片上传和裁剪插件Croppie
Nov 29 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
Sep 28 Javascript
Vue递归实现树形菜单方法实例
Nov 06 Javascript
vue项目或网页上实现文字转换成语音播放功能
Jun 09 Javascript
详细分析React 表单与事件
Jul 08 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
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
Python深度优先算法生成迷宫
2018/01/22 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
python 实现简单的FTP程序
2019/12/27 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
耐克美国官网:Nike.com
2016/08/01 全球购物
大学新生军训个人的自我评价
2013/10/03 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
公司离职证明标准格式
2014/11/18 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
用Python实现Newton插值法
2021/04/17 Python
MySQL GRANT用户授权的实现
2021/06/18 MySQL
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
Elasticsearch 数据类型及管理
2022/04/19 Python