[英]AngularJs:Strange result in iterating key value pair
我有一個角度數組如下
$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/
我懷疑您獲取的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中嘗試了上面的代碼,效果很好。
我不知道Pankaj關於空鍵值是否正確。 但是可以肯定的是,您的$scope.arr
不是數組而是對象。 因此,您的代碼應為:
<div ng-repeat="(key, value)in arr track by $index">
<h3 ng-repeat=" item in value">
{{item}}
</h3>
</div>
我不知道您想做什么,但是您可以創建類似這樣的邏輯,它可能對您有用,它的一些硬編碼的工作,但是要相應地進行更改
$scope.test = []
$scope.test.push(arr["abc1/xyz/../"]+arr[""]+arr["abc1/xyz/../"]);
在ng-repeat中使用test .. :)
或者您可以使用代碼執行ng-repeat來執行我所知道的代碼:
<div ng-repeat="test in arr">
<div ng-repeat="test2 in test">
{{test2}}
</div>
您需要使用以下代碼替換HTML代碼:
<div ng-repeat="test in arr track by $index"> <div ng-repeat="item in test"> {{item}} </div> </div>
我得到結果。 請檢查以下JSFiddle:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.