繁体   English   中英

另一个ng-repeat中的Angularjs ng-repeat

[英]Angularjs ng-repeat inside another 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将具有相同的注释文本。

ps => $ scope.comments在调用getComments(article.id)时更新,即当有人单击标题时。

我有点知道此问题的原因,但需要进行澄清,我如何才能实现自己的目标? 有什么建议么?

您应该将评论加载到article对象本身中。 然后将内部ng-repeat更改为“ article.comments中的注释”。

假设getComments起作用,则此行都被弄乱了,可能是问题所在:

ng-click="ng-class="show = true; getComments(article.id)"

它可能可以更改为:

ng-click="getComments(article.id); show=true;" ng-hide="!show"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM