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 相关文章推荐
Google韩国首页图标动画效果
Aug 26 Javascript
js操作二级联动实现代码
Jul 27 Javascript
IE下JS读取xml文件示例代码
Aug 05 Javascript
JavaScript中定义函数的三种方法
Mar 12 Javascript
js实现带按钮的上下滚动效果
May 12 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
微信小程序 开发工具快捷键整理
Oct 31 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
seajs中模块依赖的加载处理实例分析
Oct 10 Javascript
WEEX环境搭建与入门详解
Oct 16 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
May 10 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 CURL获取邮箱地址的详解
2013/06/03 PHP
学习php中的正则表达式
2014/08/17 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python如何在DataFrame增加数值
2020/02/14 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
人力资源经理自我评价
2014/01/04 职场文书
公司委托书范本
2014/04/04 职场文书
班级活动总结格式
2014/08/30 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
电影红河谷观后感
2015/06/11 职场文书
react 路由Link配置详解
2021/11/11 Javascript
Python与C++中梯度方向直方图的实现
2022/03/17 Python
python turtle绘图
2022/05/04 Python