Angularjs ng-repeat在另一个ng-repeat内

时间:2014-08-10 01:14:53

标签: javascript angularjs ng-repeat

考虑以下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)时更新,即当有人点击标题时。

我知道这个问题的原因但是澄清会很好,我怎样才能实现我的目标?有什么建议吗?

2 个答案:

答案 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"