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 相关文章推荐
IE和Mozilla的兼容性汇总event
Aug 12 Javascript
用JavaScript实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
Sep 06 Javascript
js+css实现上下翻页相册代码分享
Aug 18 Javascript
浅谈键盘上回车按钮的js触发事件
Feb 13 Javascript
如何去除vue项目中的#及其ie9兼容性
Jan 11 Javascript
详解Axios 如何取消已发送的请求
Oct 20 Javascript
记一次用vue做的活动页的方法步骤
Apr 11 Javascript
Layui Form 自定义验证的实例代码
Sep 14 Javascript
VUE注册全局组件和局部组件过程解析
Oct 10 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
Mar 04 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
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
深入了解JavaScript代码覆盖
2019/06/13 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
2015大学自主招生自荐信范文
2015/03/04 职场文书
求职自我评价范文
2015/03/09 职场文书
公司董事任命书
2015/09/21 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
python Tkinter模块使用方法详解
2022/04/07 Python