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 相关文章推荐
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 Javascript
JavaScript编程中window的location与history对象详解
Oct 26 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
Jul 18 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
Feb 14 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
JS实现左边列表移到到右边列表功能
Mar 28 Javascript
微信小程序websocket实现聊天功能
Mar 30 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
Mar 06 Javascript
vuex 实现getter值赋值给vue组件里的data示例
Nov 05 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
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与C#分别格式化文件大小的代码
2011/05/14 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
js获取视频时长代码
2014/04/10 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
Python中的tuple元组详细介绍
2015/02/02 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
python实现控制台输出颜色
2021/03/02 Python
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
幼儿园新学期寄语
2014/01/18 职场文书
学生会主席演讲稿
2014/04/25 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
2014年老干部工作总结
2014/11/21 职场文书
总经理司机岗位职责
2015/04/10 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python