Javascript 如何从json对象在angular js中显示子文档值?

Javascript 如何从json对象在angular js中显示子文档值?,javascript,angularjs,json,Javascript,Angularjs,Json,我试图使用ng repeat在html中显示子文档对象值。然而,它向我展示了全部结果。它向我展示了9个项目,而不是每个复习项目5个 我想显示评级属性和它们的价值,但每一个评论。这意味着,每次审查都会有相应的分段评级 在这幅图中,它向我展示了所有评级对象。 应该是这样, 下面是json输入 { _id: "591ec7a2b782de17be7d9334", title: "Pizza Hut", description: "pizza hut", info: [ ], tags: [ ], c

我试图使用ng repeat在html中显示子文档对象值。然而,它向我展示了全部结果。它向我展示了9个项目,而不是每个复习项目5个

我想显示评级属性和它们的价值,但每一个评论。这意味着,每次审查都会有相应的分段评级

在这幅图中,它向我展示了所有评级对象。

应该是这样,

下面是json输入

{
_id: "591ec7a2b782de17be7d9334",
title: "Pizza Hut",
description: "pizza hut",
info: [ ],
tags: [ ],
comments: [ ],
reviews: [
{
name: "Zamiul",
userID: "591eaa9fbcd2440e7ac86f34",
title: "You wont be disappointed",
review: "I dont think, anyone would be disappointed to go in Pizza Hut with family and friends. It's really a nice place to hang out.",
_id: "5921288b4eae3d0f6f6c548a",
createdOn: "2017-05-21T05:41:31.302Z",
rating: [
{
property: "Service",
value: 9,
_id: "5921288b4eae3d0f6f6c548f"
},
{
property: "Price",
value: 7,
_id: "5921288b4eae3d0f6f6c548e"
},
{
property: "Food",
value: 9,
_id: "5921288b4eae3d0f6f6c548d"
},
{
property: "Varieties",
value: 10,
_id: "5921288b4eae3d0f6f6c548c"
},
{
property: "Place",
value: 10,
_id: "5921288b4eae3d0f6f6c548b"
}
]
},
{
name: "Zamiul",
userID: "591eaa9fbcd2440e7ac86f34",
title: "2nd review",
review: "2nd review",
_id: "592156b7657f46137076a27b",
createdOn: "2017-05-21T08:58:31.629Z",
rating: [
{
property: "Service",
value: 10,
_id: "592156b7657f46137076a27f"
},
{
property: "Price",
value: 8,
_id: "592156b7657f46137076a27e"
},
{
property: "Food",
value: 9,
_id: "592156b7657f46137076a27d"
},
{
property: "Place",
value: 6,
_id: "592156b7657f46137076a27c"
}
]
}
],
contentStatus: "active"
}
这是我的html

<div ng-repeat="items in reviews">
 <div ng-repeat="item in items.rating">
<p>{{ item.property }}<p>
</div>
</div>

{{item.property}}
在我的控制器中,我使用服务和从URl分配的json输入提取数据作为评论。

尝试以下操作:

<div ng-repeat="items in reviews.rating.property">

     <p>{{ items }}<p>

</div>

{{items}}
使用


{{item}}={{rating}}

它提供了两个评论的评级,您只需在每次重复评论后使用分隔符即可

试试这个代码

<div ng-repeat="review in reviews track by $index">
   <p> {{$index + 1}}) {{review.title}}</p>
   <p> {{review.review}}</p>
   <ul>
      <li ng-repeat="rating in review.rating">{{ rating.property }} : {{ 
       rating.value }} </li>
   </ul>

</div>

{{$index+1}}{{review.title}}

{{review.review}

  • {{rating.property}}:{{ rating.value}

我还添加了一个plunker复选框

根据编辑的问题判断,您希望每个评论都有一个包含所有评分的框。以下是您可以采用的方法:

<div ng-repeat="review in reviews">
    <h1>Review {{ review.title }}</h1>
    <div class="reviewRatings">
        <div ng-repeat="rating in review.rating">
            <p>{{ rating.property }} - {{ rating.value }}<p>
        </div>
    </div>
</div>

回顾{Review.title}
{{rating.property}}-{{rating.value}}

我刚把你的问题读了三遍,我不确定我是否理解了。您是否介意包括您预期的呈现HTML结果?从上面粘贴的json中,我想显示每个评级对象及其属性和值。现在使用我提供的HTML,它向我显示所有评级对象,而不是只显示每个评论项目中的评级对象。对不起,但是你的解释并没有真正帮助我(从答案来看,我并不孤单)。另一方面,示例输出可能会有所帮助。我已使用预期的输出图像编辑了我的问题说明,看起来您只需要每次审阅一个框。将您的内部
ng repeat
包装在一个容器中,您就完成了。您能否进一步指定您希望数据的显示方式?我不完全明白你想要什么@ZamiulHasanI不知道为什么它在plunker上工作,但在我的主机上不工作。我在html中对ng repeat做了一些小更改,并检查了plunkerI中的app.js。我刚刚发现,我的父div中有一个ng repeat,因此它不工作。谢谢大家;)@ZamiulHasan请投票选出所有有帮助的答案,如果它提供了解决方案,请接受其中一个。我的声望点不到15,因此它已记录但未公开显示。