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 相关文章推荐
Dom 是什么的详细说明
Oct 25 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 Javascript
javascript的函数作用域
Nov 12 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
Oct 14 Javascript
JS匿名函数类生成方式实例分析
Nov 26 Javascript
JavaScript设计模式之代理模式详解
Jun 09 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
Sep 16 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文件下载类
2006/12/06 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
wordpress之js库集合研究介绍
2007/08/17 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
javascript控制台详解
2015/06/25 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python生成excel的实例代码
2017/11/08 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
Python如何测试stdout输出
2020/08/10 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
2014年国培研修感言
2014/03/09 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
python 使用pandas读取csv文件的方法
2022/12/24 Python