我有一个角度阵列,如下
$scope.arr={
"abc/xyz/../": [
"a1.txt",
"a2.txt",
"a3.txt"
],
"": [
"no-folder.txt"
],
"abc1/xyz/../": [
"a4.txt",
"a5.txt",
"a6.txt"
]
}
我想迭代这个数组,需要得到如下的结果
"a1.txt",
"a2.txt",
"a3.txt"
和
"no-folder.txt"
和
"a4.txt",
"a5.txt",
"a6.txt"
我试过以下
<div ng-repeat="test in arr track by $index">
<h3 ng-repeat="(key, value) in test">
{{value}}
</h3>
</div>
但我得到了奇怪的结果,因为每个角色都是这样。你能请求帮助吗。
更新请看一下这把小提琴https://jsfiddle.net/771voyj6/8/
我不知道你想做什么,但你可以创建这样的逻辑——它可能对你有用,它是一些硬编码的工作,但会相应地更改
$scope.test = []
$scope.test.push(arr["abc1/xyz/../"]+arr[""]+arr["abc1/xyz/../"]);
在ng重复中使用测试..:)
或者你可以用你的代码做我知道的事情,对你的代码使用这样的ng重复:
<div ng-repeat="test in arr">
<div ng-repeat="test2 in test">
{{test2}}
</div>
我不知道Pankaj关于空键值是否正确。但可以肯定的是,$scope.arr
不是一个数组,而是一个对象。因此,您的代码应该是:
<div ng-repeat="(key, value)in arr track by $index">
<h3 ng-repeat=" item in value">
{{item}}
</h3>
</div>
我怀疑您得到的JSON不是有效的JSON。在第二个例子中,对象的第二个属性是""
(空白),这将是无效的JSON。
JSON
{
"abc/xyz/../": [
"a1.txt",
"a2.txt",
"a3.txt"
],
//in below line json has no key
"": [
"no-folder.txt"
],
"abc1/xyz/../": [
"a4.txt",
"a5.txt",
"a6.txt"
]
}
更新
很抱歉对JSON有错误的概念化,上面的JSON是有效的JSON(但从技术上讲,JSON不应该有空键)。我在Fiddle中尝试了上面的代码,它运行良好。
工作Fiddle(Angular 1.4.8)
您需要用以下内容替换HTML代码:
<div ng-repeat="test in arr track by $index">
<div ng-repeat="item in test">
{{item}}
</div>
</div>
我正在得到结果。请检查以下JSFiddle:
http://jsfiddle.net/akonchady/a25r1mm4/3/