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 checkbox 全选/反选及批量删除
Apr 28 Javascript
extjs之去除s.gif的影响
Dec 25 Javascript
如何使用Javascript正则表达式来格式化XML内容
Jul 04 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
node.js操作mongoDB数据库示例分享
Nov 26 Javascript
jQuery验证插件validation使用指南
Apr 21 Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 Javascript
高效Web开发的10个jQuery代码片段
Jul 22 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
Mar 06 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
Jun 01 Javascript
Vue实现动态查询规则生成组件
May 27 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 zip文件解压类代码
2009/12/02 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
django 简单实现登录验证给你
2019/11/06 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
行政助理岗位职责
2013/11/10 职场文书
六十岁生日答谢词
2014/01/10 职场文书
技能竞赛活动方案
2014/02/21 职场文书
岗位聘任报告
2015/03/02 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python
JS封装cavans多种滤镜组件
2022/02/15 Javascript
python pygame 开发五子棋双人对弈
2022/05/02 Python