【发布时间】:2026-02-12 09:40:02
【问题描述】:
我是 Angular 的新手(2 周大),我无法理解表格的正确实现,其中填充了来自 $scope 的数据。
更具体一点。我有一张表,我用硬编码的时间数组填充(即[{ "time": "8:00 - 8 - 30"},...):
<table class="table table-hover">
<thead>
<tr>
<th>Time</th>
<th>Status</th>
<th>Contact Person</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="time in times" style="cursor:pointer">
<td> {{time.time}}
</td>
<td>
<button type="button" class="btn btn-info btn-lg" ng-click="open(time.time)">Open</button>
</td>
<td>---</td>
</tr>
</tbody>
</table>
我还有另一个 $scope 元素,其中包含一个名为 $scope.reservations 的对象数组。模型中的数据如下所示:
我试图做的是在第二列(状态)中放置一个条件,如果$scope.reservations.timeSlot == {{time.time}},则显示特定的div(在这种情况下,div 会说“这个空间已经采取)。否则,继续显示标有“打开”的按钮。
此条件也将用于下一列(联系人),如果$scope.reservations.timeSlot == {{time.time}},则显示div 和$scope.reservations.NetID。否则,继续显示“---”。
我知道我必须以某种方式将ng-repeat 与另一个ng-repeat 嵌套,可能还有ng-show?但我正在努力思考完成此任务的正确语法。有人知道完成填充这样一个表的最佳方法吗?
更新:这是我为重现问题而创建的一个 plunker:example Plunker
我们将不胜感激任何帮助,如果您对我有任何问题或疑虑,请随时提出。我希望能够实现这一点,并真正了解发生了什么。希望大家今天过得愉快!
【问题讨论】:
-
在我看来,您在客户端的信息太多了。除非你想展示它,否则确认代码不应该在客户端(你的描述听起来不对)
-
plnkr 总是有助于重现并以更简洁的方式说明您的问题
-
@Yaron U. 你是对的,目前我在 $scope.reservations 中有太多信息。我有来自 mongodb 的信息,并且还没有在 db.collection.find() fetch 上添加一个投影。一旦可以正确显示,我将减少返回的数据量,并清除不需要的数据。
标签: javascript html angularjs json