我正在关注angular2
教程并尝试迭代Array
:
<table class = "table table-hover">
<thead>
<th>ID</th>
<th>Title</th>
<th>Descreption</th>
</thead>
<tbody>
<tr *ngFor = "#v of videos"></tr>
<td>{{v.id}}</td>
<td>{{v.title}}</td>
<td>{{v.desc}}</td>
</tbody>
</table>
我得到的错误是Cannot read property 'id' of undefined
,但是当我在相同的html中打印对象时:
<!--printing the same object -->
{{videos[0] | json}}
它按预期显示对象,例如:
{ "id": 1, "title": "title..", "videoCode": "afe6JW2oTZc", "desc": "My Videos" }
我已经尝试过json
管道- {{v.id | json}}
,但仍然无法正常工作,
谢谢你的帮助。
您一直在遵循错误的教程。的用法#v
是一种非常古老的语法,自从进入Beta版以来一直未使用。新语法使用let
关键字:
另一方面,您应该将循环放置td
在tr
循环内部,而不是放置在循环外部:
<table class="table table-hover">
<thead>
<th>ID</th>
<th>Title</th>
<th>Descreption</th>
</thead>
<tbody>
<tr *ngFor="let v of videos">
<td>{{v.id}}</td>
<td>{{v.title}}</td>
<td>{{v.desc}}</td>
</tr>
</tbody>
</table>
我说的第二件事可能是您在这里遇到的问题,但我认为更大的问题是您使用的是旧版本的angular。只需转到angular.io并在那里学习教程
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句