2013-12-19 14 views
9

Wie übergibt man ein ganzes ng-repeat Objekt in eine Direktive (oder wie man den Geltungsbereich einer Direktive auf ein ng-repeat Element setzt)?Angular: Pass-Wiederholung Artikel in Richtlinie

Ich bin neu in Winkel- und eine schwierige Zeit, die dies herauszufinden.

Ich habe einen Controller, der gerade fein folgendes macht:

<div class="img-wrap" ng-repeat="image in images"> 
    <p>{{image.title}}</p> 
    <img ng-src="{{image.thumbUrl}}" /> 
</div> 

Was ich möchte, ist das Innere in eine Richtlinie tun, drehen und die image obj in die Richtlinie übergeben. Hier ist, was ich habe, das nicht funktioniert:

ich ändern, um die html:

<div class="img-wrap" ng-repeat="image in images"> 
    <image /> 
</div> 

Und dann habe ich diese Anweisung:

angular.module('openart') 
.factory('image', function() { 
    return { 
     restrict:'E', 
     controller:['$scope',function($scope){ 

     }], 
     template:'<p>{{title}}</p><img ng-src="{{thumbUrl}}" />', 
     link:function(scope,el,attrs){ 

     } 
    }; 
}); 
+1

Fabrik arbeitet, ist keine Richtlinie, wie ich weiß) – hawk

+0

@hawk haha ​​das ist, warum ich hasse/Liebe/Hass Programmierung. schöner Fang thx! – Micah

Antwort

9

Sie haben das Bildobjekt zu Ihrer Richtlinie zur Verfügung zu stellen irgendwie. Dafür müssen Sie es in Rahmen Ihrer Richtlinie festgelegt, dass so etwas wie:

scope: {image:"="} 

Heresa jsfiddle

+0

Kann man irgendwie das Bild auf dem Umfang ändern, aber innerhalb des verschachtelten Controller ?? Controller: [ '$ Umfang', function ($ scope) { console.log ($ scope); }] – Bisonfan95

Verwandte Themen