尝试将ng-repeat
用于字符串数组。我有2个场景,1个在哪里工作,另一个在没有的地方。我的问题是为什么它不起作用?
在这种情况下,家庭类型会相应显示: 的工作
<div ng-controller="productsController as product">
<ul>
<li ng-repeat="family in product.families | orderBy: 'category'">
<ul>
<li ng-repeat="type in family.types">{{type}}</li>
</ul>
</li>
</ul>
</div>
但是,在这种情况下,它们不会显示: 无法工作 为什么?
<div ng-controller="productsController as product">
<ul>
<li ng-repeat="family in product.families | orderBy: 'category'">
</li>
</ul>
<ul>
<li ng-repeat="type in product.families.types">{{type}}</li>
</ul>
</div>
在这种情况下重复类型的正确方法是什么?
JSON
"families": [
{
"category": "Tablets",
"types": ["type1", "type2", "type3", ...]
}
]
答案 0 :(得分:1)
product.families
是一个数组。数组没有任何名为types
的属性。
适当的方法是在控制器中提取一个数组,该数组将包含所有类型的所有类型作为单个数组,并迭代该单个数组中包含的类型:
var typeArrays = $scope.families.map(function(family) {
return family.types;
});
$scope.allTypes = [].concat.apply([], typeArrays);