【问题标题】:Add element after every ng-repeat在每个 ng-repeat 之后添加元素
【发布时间】:2015-06-03 13:09:30
【问题描述】:

我正在使用 ng-repeat,但我想在每 4 个重复元素之后添加一个元素。

重复的div:

<div class="product" ng-repeat="product in productList" ng-init="addFullScreenProduct($index, this)">

然后在我的控制器中:

$scope.addFullScreenProduct = function(index, event)
{
        var currentProduct = "<div id='" + (index/4) + "' class='currentProduct sixteen columns'></div>";
        var product = event.srcElement;
        currentProduct = $compile(currentProduct)($scope);
        product.after(currentProduct);
};

我无法在“product”元素之后添加“currentProduct”元素。

我想要的输出:

<div class="currentProduct">...</div>
<div class="product">...</div>
<div class="product">...</div>
<div class="product">...</div>
<div class="product">...</div>
<div class="currentProduct">...</div>
<div class="product">...</div>
<div class="product">...</div>
<div class="product">...</div>
<div class="product">...</div>
<div class="currentProduct">...</div>

有什么想法吗?

【问题讨论】:

  • 为什么不直接使用过滤器?

标签: javascript jquery html angularjs


【解决方案1】:

您可以使用ng-repeat-startng-repeat-end,如下所示:

<div ng-repeat-start="product in productList" class="product">
    {{ product }}
</div>
<div ng-repeat-end ng-if="$index % 4 == 0" class="currentproduct sixteen columns"></div>

div.product 将被重复,div.currentproduct 出现在每第四次迭代中。

【讨论】:

  • 似乎是一个很好的解决方案。然而,它说产品是未定义的......不完全确定为什么。我已经导入: src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js" 用于角度。
  • 原来我使用的是旧版本的 Angular,效果很好,谢谢!
【解决方案2】:

您可以使用过滤器来显示每 4 个元素。像这样:

<div class="product" ng-repeat="product in productList" ng-show="$index % 4 == 0"></div>

【讨论】:

  • 问题不仅在于显示每 4 个元素(我可能措辞不佳)。我需要的是在每 4 个重复元素之后添加一个 div。我需要它像这样输出:&lt;div class="currentProduct"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="currentProduct"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="product"&gt;...&lt;/div&gt; &lt;div class="currentProduct"&gt;...&lt;/div&gt;
猜你喜欢
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多