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 解析url的search方法
Feb 09 Javascript
JS的反射问题
Apr 07 Javascript
js如何获取object类型里的键值
Feb 18 Javascript
JavaScript实现随机替换图片的方法
Apr 16 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
Sep 17 Javascript
jQuery 如何实现一个滑动按钮开关
Dec 01 Javascript
100多个基础常用JS函数和语法集合大全
Feb 16 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
Feb 27 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
ajax请求data遇到的问题分析
Jan 18 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
vue递归获取父元素的元素实例
Aug 07 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扩展函数
2006/10/09 PHP
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
JS实现密码框效果
2020/09/10 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
解决pip install psycopg2出错问题
2020/07/09 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
仓库文员岗位职责
2014/04/06 职场文书
公司寄语大全
2014/04/10 职场文书
四年级学生评语大全
2014/04/21 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
食品安全工作方案
2014/05/07 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
李强感恩观后感
2015/06/17 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
Python超详细分步解析随机漫步
2022/03/17 Python
mysql sock 文件解析及作用讲解
2022/07/15 MySQL