您好,登錄后才能下訂單哦!
本文實例講述了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程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。