【发布时间】:2015-01-03 08:54:26
【问题描述】:
在我见过的几乎所有 ng-repeat 示例中,数据的结构如下:
$scope.dataCollected = [{name: bob, data: '10-12-12'}, {name:joe, data: '09-13-13'}];
但是,我可以让 ng-repeat 工作的唯一方法是,如果我像这样构造数据:
$scope.dataCollected = {bob: {name: bob, data: '10-12-12'}, joe: {name:joe, data: '09-13-13'}};
将其构建为数组会导致 ng-repeat 完全不执行任何操作。它甚至没有给出错误。将其构建为包含对象的对象是可行的,但我想使用数组,因为我知道这是在 ng-repeat 上使用过滤器的唯一方法。
我这样调用 ng-repeat:
<div class="list-row" ng-repeat="data in dataCollected">
<h3 class="name"> {{data.name}} </h3>
</div>
我错过了什么?
【问题讨论】:
-
检查您的控制台。您的对象中可能存在语法错误。 Plnkr
-
@maskedjellybean 那是因为我固定在我的 plnkr 中。检查 plnkr 两者都有效。即
{name: bob,将抛出错误,除非你有一个名为bob的变量。如果您认为数组语法不起作用,请向我们展示一个演示该问题的演示。 -
@PSL 是的,想取消删除我的答案来写它 - 抱歉,我完全跳过了 OP 实际显示数组的那一行,所以我认为他想要一种快速过滤它的方法。跨度>
-
@Shomz 坦率地说。我真的不知道 OP 有什么问题......我什至放了一个 plnk 来显示它除了语法错误之外是有效的。我已经投票结束这个问题
-
@PSL 你修好了,我想这就是它的全部,我们应该关闭它。
标签: angularjs angularjs-ng-repeat