2017-01-04 38 views
0

是否有任何溶液使用* ngFor迭代對象本身(在附圖中所示)。

或者我可以將此Object(如圖所示)轉換爲Array,以便可以在* ngFor中進行迭代。

enter image description here

+0

你可以爲它創建一個自定義的管 – JoeriShoeby

+0

我如何能爲它創建一個自定義的管道? –

+0

將Farooq的答案應用到自定義管道中,然後完成 – JoeriShoeby

回答

4

您可以使用Object.keys(OBJ)獲得命名的索引。這將返回一個可以進一步使用/定製的數組結構。樣本使用遍歷對象的值可能看起來像這樣

var persons = { 
    john: { age: 23, year:2010}, 
    jack: { age: 22, year:2011}, 
    jenny: { age: 21, year:2012} 
} 

獲得一個迭代器

var resultArray = Object.keys(persons).map(function(personNamedIndex){ 
    let person = persons[personNamedIndex]; 
    // do something with person 
    return person; 
}); 

// you have resultArray having iterated objects 
+0

我不想循環訪問!有什麼解決方案直接在dom中循環? (否則雙循環將被執行!) –

+0

好吧,我對離子沒有太多的知識,但是在Angular中,你可以在迭代器指令中使用用戶'(鍵值)',希望它有助於你對直接操作的關注的DOM避免了循環。 –

+0

(key,value)在Angular2(Typescript - ES5)中不起作用或者Object的Object不能循環通過!我試過了不行;( –