考虑以下html代码:
<div ng-repeat="article in articles">
<a ng-click="show = true; getComments(article.id)">
<p>
{{article.headline}}
</p>
</a>
<div ng-repeat="comment in comments" ng-class="{show: show}">
<p>
{{comment.text}}
</p>
</div>
</div>
假设我有2篇文章,第1条和第2条,每条都有一些评论。 我的目标是每当我点击文章的标题时,就会显示一篇文章的评论(来自服务器)。第一次点击(无论哪篇文章)都可以,但如果我点击第二篇文章,Article1和Article2都会有相同的评论文本。
P.S。 =&GT; $ scope.comments在调用getComments(article.id)时更新,即当有人点击标题时。
我知道这个问题的原因但是澄清会很好,我怎样才能实现我的目标?有什么建议吗?
答案 0 :(得分:1)
您应该将评论加载到文章对象本身。然后将内部ng-repeat更改为&#34;在article.com中注释&#34;。
答案 1 :(得分:1)
假设getComments
有效,这一行都搞砸了,可能就是问题所在:
ng-click="ng-class="show = true; getComments(article.id)"
可能会改为:
ng-click="getComments(article.id); show=true;" ng-hide="!show"