AngularJS自定义指令之复制指令实现方法


Posted in Javascript onMay 18, 2017

本文实例讲述了AngularJS自定义指令之复制指令实现方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="bootstrap.min.css" rel="external nofollow" >
    <script src="jquery.min.js"></script>
    <script src="angular.js"></script>
    <script src="bootstrap.min.js"></script>
    <script type="text/javascript">
      var app = angular.module('myapp', []);
      app.directive('duplicate', function($rootScope){
       return {
        transclude: 'element',
        replace: true,
        priority: 2,
        link: function(scope, elem, attrs, ctrl, transclude) {
         var times = parseInt(attrs.duplicate);
         var previous = elem;
         var childScope;
         for(var i = 0; i < times; i++) {
          childScope = scope.$new();//新建scope的子scope
          childScope.number = i;
          transclude(childScope, function(clone){//transclude将每个childScope与clone关联, 一一对应(一对对)
            // console.log(childScope.$id);
            // console.log(clone.scope().$id)
            previous.after(clone);//在previous与clone拼接再赋值给clone
            previous = clone;
          });
         }
          console.log(scope.childHead.number);//可以看到5个全是scope的子scopeconsole.log(scope.childTail.number);
          console.log(scope == $rootScope)//可以看到此时指令scope就是$rootScope 因为scope:false
        },
       }
      });
    </script>
  </head>
  <body ng-app="myapp">
    <input type='text' ng-model='number' duplicate="5" />
    <br/>
    <!--与上面绑定 -->
    <input type="text" ng-model="childHead.number"/><br/><inputtype="text"ng−model="childTail.number" />
  </body>
</html>

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
Javascript miscellanea -display data real time, using window.status
Jan 09 Javascript
javascript getElementsByTagName
Jan 31 Javascript
Javascript实现颜色rgb与16进制转换的方法
Apr 18 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
详解vue中axios请求的封装
Apr 08 Javascript
js实现左右轮播图
Jan 09 Javascript
微信小程序实现二维码签到考勤系统
Jan 16 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
May 18 #Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 #Javascript
JS验证全角与半角及相互转化的介绍
May 18 #Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 #Javascript
Javascript实现倒计时时差效果
May 18 #Javascript
vue-cli webpack 开发环境跨域详解
May 18 #Javascript
JavaScript实现简单的星星评分效果
May 18 #Javascript
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
PHP常用处理静态操作类
2015/04/03 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
HTML5的语法变化介绍
2013/08/13 HTML / CSS
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
一套SQL笔试题
2016/08/14 面试题
欢迎横幅标语
2014/06/17 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
我的中国梦主题班会
2015/08/14 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python