![](/img/trans.png)
[英]Returning data from an angular factory, data is populated after object is returned
[英]Angular displaying data in a deep populated object
HTML
<div ng-controller="topicController">
<a href="#/dashboard">Dashboard</a> | <a href="#/topics">Topics</a> | <a href="#/users">Users</a>
<h4>{{topic.user_name}} posted a topic</h4>
<h2>{{topic.topic}}</h2>
<h4>Description: {{topic.description}}</h4>
<div ng-controller="postController">
<label>Post Your Answer here</label>
<form>
<textarea name="post" ng-model="new_post.post"></textarea>
<input type='submit' value='Submit' ng-click='addPost(users._id, topic._id, users.name)'>
</form>
<div ng-repeat="x in topic.posts">
<h4>{{x.post}}</h4>
<p>Likes:{{x.up_vote}} Dislikes:{{x.down_vote}}</p>
<ul ng-repeat="i in topic.posts[x].comments">
<li>{{topic.posts[x].comments[i].comment}}</li>
</ul>
<div ng-controller="commentController">
<form>
<textarea name="comment" ng-model="model.comment"></textarea><br>
<input type="submit" value="Submit" ng-click="addComment(users._id, x._id, users.name)">
</form>
</div>
</div>
</div>
</div>
如您在下图中所看到的,我拥有所有已填充数据的数据,主题对象,主题内的帖子和帖子内的注释。
在我的html中,我可以正确显示主题内容和帖子,但是很难显示评论。
注释已添加到数据库,但未显示。 我有一个ng-repeat,可以在每个帖子的每个评论中写出内容,但它不会显示出来。 附加图像以在控制台中显示整个对象。
我的ng-repeat错误吗?
您的x
是post
对象,而不是索引。 所以你内在的ng-repeat
应该是
<ul ng-repeat="c in x.comments">
<li>{{c.comment}}</li>
</ul>
您误会了ng-repeat
x
代表的注释。 x
是实际的评论对象-帖子的comments
数组中的每个项目。 因此topic.posts[x]
毫无意义。 它应该只是x
。
因此,显然,将其重命名为comment
,而不是x
。
温馨提示:出于性能原因,请始终将ng-repeat
表达式与track by
一起使用。 在您的情况下,将track by comment._id
进行track by comment._id
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.