首页 > 编程 > JavaScript > 正文

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

2019-11-19 16:33:28
字体:
来源:转载
供稿:网友

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表