关于在directive里的transclude方法复制新的元素用法

前端之家收集整理的这篇文章主要介绍了关于在directive里的transclude方法复制新的元素用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<table class="text"><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

{{name}} - {{value}}
 
  js部分 var app = angular.module('test',[]);   app.controller('TestController',['$scope',function($scope) {   $scope.options = [     { name: 'Iron man',value: 'Tony Start'},    { name: 'Captain America',value: 'Steve Rogers'},    { name: 'Hulk',value: 'Bruce Banner'}   ];     $scope.hero = 'Iton Man'; }]);   app.directive('ntList',['$compile',function($compile) {   return {     restrict: 'E',    transclude: true,    template: '

ListDemo

',    scope: {       items: '=',      itemTemplate: '=',      onChange: '&'     },    link: function(scope,element,attrs,ctrl,transclude) {       scope.items.map(function(item) {         var childScope = scope.$new();//在scope创新一 个新的对象         angular.extend(childScope,item);//复制对象 具体用法可以看http://www.tuicool.com/articles/vM7r6v         transclude(childScope,function(clone) { //clone对应的是
{{name}} - {{value}}
          var listItem = $compile(clone)(childScope);//AngularJS如何动态显示不同的html内容,用$compile 服务 用法参考http://www.gsgundam.com/2014-12-13-angularjs-compile-to-show-dymanic-html-content/           element.find('list-content').append(listItem);         });       });     }   }; }]);

猜你在找的程序笔记相关文章