2017-01-04 37 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不能循环通过!我试过了不行;( –