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 学习笔记(十三)Dom创建表格
Jan 21 Javascript
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
js中switch case循环实例代码
Dec 30 Javascript
JS数字抽奖游戏实现方法
May 04 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
JavaScript 对象字面量讲解
Jun 06 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
Apr 27 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
jquery实现侧边栏左右伸缩效果的示例
Dec 19 jQuery
chosen实现省市区三级联动
Aug 16 Javascript
JS实现图片幻灯片效果代码实例
May 21 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登陆qq后获取用户信息时证书错误
2015/02/03 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
zend框架实现支持sql server的操作方法
2016/12/08 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
JQUERY操作JSON实例代码
2010/02/09 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
Python PIL库图片灰化处理
2020/04/07 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
python识别验证码的思路及解决方案
2020/09/13 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
村委会主任先进事迹
2014/01/15 职场文书
小学教师管理制度
2014/01/18 职场文书
大学生作弊检讨书
2014/09/11 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
招商银行收入证明
2015/06/17 职场文书
2016特色励志班级口号
2015/12/24 职场文书
Java获取字符串编码格式实现思路
2022/09/23 Java/Android