Angularjs使用directive自定义指令实现attribute继承的方法详解


Posted in Javascript onAugust 05, 2016

本文实例讲述了Angularjs使用directive自定义指令实现attribute继承的方法。分享给大家供大家参考,具体如下:

一、Html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <script src="../../Content/Plugins/Angular/angular.min.js"></script>
</head>
<body ng-app="mainApp" ng-controller="mainController">
  <quber-grid style="border: 1px solid #f00;" title="qubernet"></quber-grid>
</body>
</html>

二、tmp.html文件

<div quber-grid-attr>
  我是测试的模板内容!
</div>

三、Js代码:

//初始化Angular对象
var myNg = angular.module('mainApp', []);
myNg.directive('quberGrid', function () {
    return {
      restrict: 'EA',
      replace: true,//移除<quber-grid>标签
      templateUrl: 'tmp.html',
      link: function (sco, ele, attr) {
        //通知下属DOM,执行名为sendChildGridAttr的事件
        sco.$broadcast('sendChildGridAttr', attr);
      }
    };
});
myNg.directive('quberGridAttr', function () {
    return {
      restrict: 'A',
      link: function (sco, ele, attr) {
        sco.$on('sendChildGridAttr', function (event, data) {
          angular.forEach(data, function (val, key, obj) {
            if (key != '$attr' && key != '$$element') {
              //设置标签属性和值
              attr.$set(key, val);
            }
          });
        });
      }
    };
});
myNg.controller('mainController', function ($scope) { });

效果如下:

Angularjs使用directive自定义指令实现attribute继承的方法详解

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
超棒的javascript页面顶部卷动广告效果
Dec 01 Javascript
javascript prototype 原型链
Mar 12 Javascript
struts2 jquery 打造无限层次的树
Oct 23 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
Jan 15 Javascript
提取字符串中年月日的函数代码
Nov 05 Javascript
js微信分享API
Oct 11 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
Vue和Bootstrap的整合思路详解
Jun 30 Javascript
Vue代码分割懒加载的实现方法
Nov 23 Javascript
jQuery实现列表的增加和删除功能
Jun 14 jQuery
JavaScript&quot;模拟事件&quot;的注意要点详解
Feb 13 Javascript
egg.js的基本使用和调用数据库的方法示例
May 18 Javascript
js从外部获取图片的实现方法
Aug 05 #Javascript
Angularjs的ng-repeat中去除重复数据的方法
Aug 05 #Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 #Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 #Javascript
JavaScipt选取文档元素的方法(推荐)
Aug 05 #Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 #Javascript
jQuery实现定位滚动条位置
Aug 05 #Javascript
You might like
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
Python PyQt5标准对话框用法示例
2017/08/23 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
普通简短的个人自我评价
2014/02/15 职场文书
档案工作汇报材料
2014/08/21 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
国庆节主题班会
2015/08/15 职场文书
教师个人教学反思
2016/02/23 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
解决Redis启动警告问题
2022/02/24 Redis
Nginx的基本概念和原理
2022/03/21 Servers
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript