2013-09-23 50 views
4

我有一個數組。數組中的每一項都包含指令的數據。該數組是在控制器內部創建的。AngularJS指令與示波器數據陣列

示範

$scope.myDirectiveData = 
      [ { title: "First title", content: "First content" }, 
      { title: "Second title", content: "Second content" } ]; 

的指令模板

<div class="MyDirective"> 
    <h1>{{myDirectiveData.title}}</h1> 
    <p>{{myDirectiveData.content}}</p> 
</div> 

我應該如何落實該指令對數組中的任何項目創建一個項目?喜歡的東西...

<MyDirective data-ng-repeat="item in myDirectiveData"></MyDirective> 

回答

4

下面是一個使用指令的示例。它使用ng-repeat爲您的範圍內的數組中的每個對象調用您的指令。在這個小提琴這是你在找什麼。

http://jsfiddle.net/gLRxc/4/

angular.module('test', []) 

.directive('myDirective', function() { 
    var template = '<div class="MyDirective">' + 
     '<h1>{{ data.title }}</h1>' + 
     '<p>{{ data.content }}</p>' + 
     '</div>'; 
    return { 
     template: template, 
     scope: { 
      data: '=' 
     }, 
     link: function (scope, element, attrs) { 

     } 

    }; 
}) 

.controller('TestController', function ($scope) { 

    $scope.myDirectiveData = [ 
      { title: "First title", content: "First content" }, 
      { title: "Second title", content: "Second content" } 
     ]; 


}) 
; 

的Html編輯:吳重複是在同一行上像你的問題狀態的指令。

<div ng-app="test" ng-controller="TestController"> 
    <div my-directive data="item" ng-repeat="item in myDirectiveData"></div> 
</div> 
0
<div ng-repeat="item in myDirectiveData"> 
    <h1>{{item.title}}</h1> 
    <p>{{item.content}}</p> 
</div>