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 相关文章推荐
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
append和appendTo的区别以及appendChild用法
Dec 24 Javascript
浅谈重写window对象的方法
Dec 29 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
js实现时间轴自动排列效果
Mar 09 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
使用vue-cli编写vue插件的方法
Feb 26 Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 Javascript
js实现动态增加文件域表单功能
Oct 22 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
Feb 15 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设计模式 Observer(观察者模式)
2011/06/26 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python turtle库画一个方格和圆实例
2019/06/27 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
python中提高pip install速度
2020/02/14 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
小区文明倡议书
2014/05/16 职场文书
副总经理任命书
2014/06/05 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
满月酒邀请函
2015/01/30 职场文书
入党后的感想
2015/08/10 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
以下牛机,你有几个
2022/04/05 无线电