2013-12-19 50 views
9

如何将整个ng-repeat对象传递给指令(或者如何将指令的作用域设置为ng-repeat项)?Angular:将重复项传递给指令

我是新来的角和有困难的时候搞清楚这一点。

我有一个控制器,这使得下面就好了:

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

我想要做的是把内部分成指令并通过image OBJ到指令。这是我已经不工作:

我更改HTML到:

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

后来才知​​道有这个指令:

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

工厂不是一个指令,因为我知道) – hawk

+0

@hawk哈哈这就是为什么我恨/爱/恨编程。很好的抓住thx! – Micah

回答

9

你必须提供图像对象的指令不知何故。 对于您需要设置它在你的指令范围,这样的事情:

scope: {image:"="} 

继承人工作jsfiddle

+0

你可以修改某种方式的范围内但嵌套控制器内的图像?控制器:['$ scope',函数($ scope){console_log($ scope); }] – Bisonfan95