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 相关文章推荐
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 Javascript
Jquery Autocomplete 结合asp.net使用要点
Oct 29 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
Sep 18 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
js实现鼠标经过时图片滚动停止的方法
Feb 16 Javascript
jquery 校验中国身份证号码实例详解
Apr 11 jQuery
Angularjs 与 bower安装和使用详解
May 11 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
Jul 18 Javascript
简单实现jQuery手风琴效果
Aug 18 jQuery
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
详解javascript appendChild()的完整功能
Aug 18 Javascript
一篇超完整的Vue新手入门指导教程
Nov 18 Vue.js
利用原生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数据加密详解
2013/06/18 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
简单介绍Ruby中的CGI编程
2015/04/10 Python
Python 常用string函数详解
2016/05/30 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
python 美化输出信息的实例
2018/10/15 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
Jupyter加载文件的实现方法
2020/04/14 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
致长跑运动员加油稿
2014/02/20 职场文书
党风廉设责任书
2014/04/16 职场文书
环卫工人节活动总结
2014/08/29 职场文书
校园运动会广播稿
2014/10/06 职场文书
结婚十年感言
2015/07/31 职场文书
PHP新手指南
2021/04/01 PHP