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游戏之是男人就下100层代码打包
Nov 08 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
浅谈javascript中自定义模版
Jan 29 Javascript
浅谈js中的闭包
Mar 16 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
Dec 17 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 Javascript
微信小程序实现下载进度条的方法
Dec 08 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
js防抖和节流的深入讲解
Dec 06 Javascript
原生js实现表格循环滚动
Nov 24 Javascript
Vue深入理解插槽slot的使用
Aug 05 Vue.js
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中如何直接执行SHELL
2013/06/28 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
python定时器使用示例分享
2014/02/16 Python
用python代码做configure文件
2014/07/20 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
详解python中的Turtle函数库
2018/11/19 Python
自定义django admin model表单提交的例子
2019/08/23 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
交通专业个人自荐信格式
2013/09/23 职场文书
手术室护士自我鉴定
2013/10/14 职场文书
高中军训感想300字
2014/03/04 职场文书
ktv筹备计划书
2014/05/03 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
小学生手册家长意见
2015/06/03 职场文书
大学副班长竞选稿
2015/11/21 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python