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 类twitter的文本字数限制带提示效果插件
Apr 16 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
javascript实现2048游戏示例
May 04 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
Jul 22 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
canvas压缩图片转换成base64格式输出文件流
Mar 09 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
Mar 29 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
JS div匀速移动动画与变速移动动画代码实例
Mar 26 Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 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强制图片下载的方法
2015/03/24 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
python计算时间差的方法
2015/05/20 Python
python flask 多对多表查询功能
2017/06/25 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
python getpass实现密文实例详解
2019/09/24 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
python实现简单井字棋游戏
2020/03/04 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
大学新生欢迎词
2014/01/10 职场文书
挂科检讨书范文
2014/02/20 职场文书
布达拉宫导游词
2015/02/02 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书
JAVA API 实用类 String详解
2021/10/05 Java/Android
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL