【发布时间】:2016-08-04 19:00:09
【问题描述】:
我的数据如下所示:
$scope.Statuses = [
{"status_id":1, "status":"A"},
{"status_id":2, "status":"B"},
{"status_id":3, "status":"C"},
];
$scope.Items= [
{"item_id":1, "item":"X", "status_id":3},
{"item_id":2, "item":"Y", "status_id":2},
{"item_id":3, "item":"Z", "status_id":1},
];
在我的 HTML 中,我循环遍历项目并在网格中显示它们。所以在某一时刻,我试图完成这样的事情:
<div>{{Statuses[Item.status_id]}}</div>
对于项目“X”,我希望看到状态为“C”等。看起来它应该更像是“Statuses[status_id = Item.status_id]}}”,但是对于我找不到这样的东西。这甚至可能吗?如果我也有的话,我可以用 Item 返回“状态”,但这似乎违背了这种情况下的目的,而且它可能会在以后搞砸其他事情。
事实上,在我写这篇文章时,我已经可以看到,即使我得到了键匹配 (status_id = Item.status_id),我并没有告诉它需要显示哪个字段才能获得正确的结果。
【问题讨论】:
-
您有一个对象数组,但您试图通过索引获取数组中的一个元素(这是一个对象),这是错误的。你真正想在 div 中看到什么?
-
是的,我明白了(这就是为什么我说我知道它需要像 status_id = Item.status_id 这样的东西),但我想要做的可能吗?有什么办法可以这样绑定吗?
-
您需要在控制器中创建一个方法,将 status_id 传递给它,然后在该方法中从第一个数组中找到状态并返回您需要的内容。需要一个例子还是已经很清楚了?
-
所以会是这样的:“{{ShowStatus(Item.status_id)}}”,然后用函数选择正确的值?