我有一个旋转木马指令,其中包含一些分块操作,将传入的
这个的angular模板看起来像这样:
我希望将嵌套元素与最深层的ng-repeat中的item对象绑定。这里提供了一个具有简化测试用例的完整Plunker:http://plnkr.co/edit/kYItcXV0k9KvnpiYx1iG。问题在于我无法在ng-repeat内部放置ng-transclude属性,并且(正如Plunkr中的carousel.js指令文件所示)我似乎也无法使用compile步骤中的transclude()函数手动注入要进行转换的标记。如果您有任何想法,将不胜感激。
items
数组映射为元素结构的数组,然后生成类似于下面伪代码的标记:
<array of arrays>
<array of items>
<item>
<item>
</array of items>
<array of items>
<item>
<item>
</array of items>
</array of arrays>
这个的angular模板看起来像这样:
<div class="carousel__content" ng-style="carousel.containerWidth">
<ul class="carousel__chunk" ng-repeat="chunk in carousel.chunks" ng-style="carousel.chunkWidth">
<li class="carousel__item" ng-repeat="item in chunk" ng-style="carousel.itemWidth">
<div class="carousel__item-content">
[element should be transcluded into this spot.]
</div>
</li>
</ul>
</div>
假设我的视图代码如下:
<!-- The <a> tag should appear inside the 'carousel.html' template's ng-repeat list. -->
<carousel items="items" config="config">
<a href="#">{{ item.name }}</a>
</carousel>
我希望将嵌套元素与最深层的ng-repeat中的item对象绑定。这里提供了一个具有简化测试用例的完整Plunker:http://plnkr.co/edit/kYItcXV0k9KvnpiYx1iG。问题在于我无法在ng-repeat内部放置ng-transclude属性,并且(正如Plunkr中的carousel.js指令文件所示)我似乎也无法使用compile步骤中的transclude()函数手动注入要进行转换的标记。如果您有任何想法,将不胜感激。
ng-transclude
。这个解决方案之所以有效,是因为它将传输函数存储在一个变量中,不受嵌套的传输指令的影响,并且执行与ng-transclude相同的操作,但实际上没有使用它。 - Marc Kline