当前位置: 首页 > 面试题库 >

如何使用带有过滤器和$ index的ng-repeat?

周翰
2023-03-14
问题内容

我想在Angular中使用ng-repeat,而我只想输出数组的某些元素。一个例子:

ng-repeat="item in items | filter:($index%3 == 0)"

但是,这不起作用。请告诉我该怎么做;仅输出元素的精确索引。


问题答案:

在您的代码中,过滤器应用于“ items”数组,而不是应用于每个数组项,这就是为什么它无法按预期工作的原因。

相反,您可以使用ng-show(或ng-if):

<ul>
    <li ng-repeat="item in items" ng-show="$index % 3 == 0">{{item}}</li>
</ul>

请参阅:http://jsfiddle.net/H7d26

编辑:如果您不想添加不可见的dom元素,请使用ng-if指令:

<ul>
    <li ng-repeat="item in items" ng-if="$index % 3 == 0">{{item}}</li>
</ul>


 类似资料:
  • 问题内容: 我有一个简单的导航对象设置,其中列出了导航项(以及它们是否应出现在主导航中)。看来,当我尝试将ng-if与ng- repeat混合使用时,情况会分崩离析,但是当我将ng-show与ng- repeat混合使用时,它可以正常工作(但是最后我得到了一堆隐藏的元素,但我没有想要附加到DOM)。 但是以下操作无效(请注意,现在是): 路线对象看起来像 尝试使用时收到以下错误: 错误:多个指令[

  • 问题内容: 我是AngularJS的新手,我正在构建一个小型的概念验证租车清单应用程序,该应用程序会提取一些JSON,并通过ng- repeat并使用几个过滤器来呈现这些数据的各个部分: 现在,我想在控制器中创建一个自定义过滤器,该过滤器可以迭代ng-repeat中的项目,并仅返回满足特定条件的项目-例如,我可以根据哪个“ provider”复选框创建值数组进行检查,然后评估每个ng-repeat

  • 问题内容: 我正在尝试做类似的事情: AngularJs部分: 但是不知何故,它向我展示了所有物品。如何筛选(键,值)? 问题答案: Angular 过滤器只能通过angular的API应用于数组,而不能应用于对象- “从数组中选择项的子集,并将其作为新数组返回。” 您在此处有两个选择: 1)移至数组或 -2)预过滤项目,如下所示: 并在控制器上: jsfiddle :http : //jsfid

  • 问题内容: 我有一个Person对象数组 我正在使用带有ng-options这样的select: 我想显示与记录 符合条件的:假 的 红 颜色。因此,问题是我如何使用in 才能实现此目的?因为我们没有使用任何标签,如果我只需添加它不会工作在元素本身。 问题答案: 您可以在处理ngOptions指令后创建一个处理选项的指令,以适当的类更新它们。 更新 :旧代码有一些错误,并且自回答这个问题以来,我学

  • 如何使用java8流和过滤器过滤嵌套循环? 假设我有一个汽车列表(

  • 基本上,我有一个项目列表和一个用于过滤位于弹出侧抽屉中的列表的输入控件。 工作得很好,直到我添加了一个指令,当输入控件变得可见时,将焦点设置为该输入控件。然后焦点工作,但滤镜停止工作。没有错误。从标记中删除focus=“{{open}}”可以使筛选器工作。 焦点方法取自这篇StackOverflow文章:如何在输入字段上设置焦点? 这是代码... 谢了!萨德