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 相关文章推荐
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
window.open()详解及浏览器兼容性问题示例探讨
May 29 Javascript
通过实例理解javascript中没有函数重载的概念
Jun 03 Javascript
javascript简单进制转换实现方法
Nov 24 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
Vue keep-alive实践总结(推荐)
Aug 31 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 Javascript
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 Javascript
JavaScript数组 几个常用方法总结
Nov 11 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实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
Python多进程写入同一文件的方法
2019/01/14 Python
Python循环实现n的全排列功能
2019/09/16 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
大四学生毕业自荐信
2013/11/07 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
事业单位年度考核评语
2014/12/31 职场文书
端午节活动总结报告
2015/02/11 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python