Angular:将ng-repeat项目传递给指令

时间:2013-12-19 16:43:43

标签: angularjs-directive angularjs-ng-repeat

如何将整个ng-repeat对象传递给指令(或者如何将指令范围设置为ng-repeat项?)

我很有棱角并且很难搞清楚这一点。

我有一个控制器可以提供以下内容:

<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 个答案:

答案 0 :(得分:9)

您必须以某种方式为您的指令提供图像对象。 为此,您需要在指令范围内设置它,如下所示:

scope: {image:"="}

继承人工作jsfiddle