Angularjs Ng重复内部Ng重复
我将更改我的数据表示形式,以匹配您实际试图显示的内容,如下所示: 这样,您就可以轻松地匹配两个嵌套循环,如下所示:Angularjs Ng重复内部Ng重复,angularjs,ng-repeat,Angularjs,Ng Repeat,我将更改我的数据表示形式,以匹配您实际试图显示的内容,如下所示: 这样,您就可以轻松地匹配两个嵌套循环,如下所示: {{cate.name} {{menuItem.name}-{{menuItem.price} 如果您想看到它的实际应用,请查看。 如果您需要坚持使用JSON数据,则必须进行过滤以提取要显示的内容。@show me代码:Bill Bi有两个不同的数组。所以实现这一点的最佳选择是在内部循环中进行过滤,正如我在评论中所说的 下面是最后一个带过滤器的代码,用于内部循环。我包括
- {{cate.name}
- {{menuItem.name}-{{menuItem.price}
如果您想看到它的实际应用,请查看。
如果您需要坚持使用JSON数据,则必须进行过滤以提取要显示的内容。@show me代码:Bill Bi有两个不同的数组。所以实现这一点的最佳选择是在内部循环中进行过滤,正如我在评论中所说的 下面是最后一个带过滤器的代码,用于内部循环。我包括小提琴手,以供快速参考
<div ng-app ng-controller="testCtrl">
<ul ng-repeat="cate in restaurant.categories">
<li>{{cate.name}}</li>
<li ng-repeat="menuItem in cate.menuItems">{{menuItem.name}} - {{menuItem.price}}</li>
</ul>
</div>
- {{cate}}
- {{menuItem.name}
函数testCtrl($scope){
$scope.menuItems=[{name:'dish1',category:'soup'},
{名称:'dish2',类别:'beef'}];
$scope.categories=[“牛肉”、“汤”]
}
Fiddle:您需要显示
类别
和菜单项
数据的示例和/或理想情况下,一个Plunker示例您需要在内部ng repeat中使用filter来过滤第二个数组。只需在此处共享您的整个数组,我将帮助您实现这一点。我会严格进行过滤器比较,以避免在menuItem.category
包含cate
的地方进行匹配,例如|filter:{category:cate}:true
@Bill Bi:如果这有助于理解其他堆栈成员,请将此答案标记为已回答。这是一个不错的选择,但不允许我更改数据库
menuItems = {{name: dish1, category:soup},
{name: dish2, category:beef}}
categories = {beef, soup}
$scope.restaurant = {
categories: [{
name: "beef",
menuItems: [{
name: "dish1",
"price": "$10"
}, {
name: "dish2",
"price": "$15"
}]
}, {
name: "soup",
menuItems: [{
name: "dish1",
"price": "$20"
}, {
name: "dish2",
"price": "$25"
}]
}]
};
<div ng-app ng-controller="testCtrl">
<ul ng-repeat="cate in restaurant.categories">
<li>{{cate.name}}</li>
<li ng-repeat="menuItem in cate.menuItems">{{menuItem.name}} - {{menuItem.price}}</li>
</ul>
</div>
<div ng-app ng-controller="testCtrl">
<ul ng-repeat="cate in categories">
<li>{{cate}}</li>
<li ng-repeat="menuItem in menuItems | filter:{category: cate}">{{menuItem.name}}</li>
</ul>
</div>
function testCtrl($scope) {
$scope.menuItems = [{name: 'dish1', category:'soup'},
{name: 'dish2', category:'beef'}];
$scope.categories = ['beef', 'soup']
}