2017-10-17 94 views
-1

任何人都可以请领我来处理的数据结构是这样的正确方法:什么是处理中的对象的目标的最佳途径角4

{ 
     "1":{ 
     "id":"1", 
     "name":"Facebook", 
     "created_at":"", 
     "updated_at":"", 
     "fields":{ 
      "1":{ 
       "id":"1", 
       "name":"G\u00f6rsel", 
       "service_id":"1", 
       "ord":"1", 
       "token":"fimage", 
       "type":"1", 
       "created_at":null, 
       "updated_at":null 
      }, 
      "2":{ 
       "id":"2", 
       "name":"Post Metini", 
       "service_id":"1", 
       "ord":"2", 
       "token":"ftext", 
       "type":"2", 
       "created_at":null, 
       "updated_at":null 
      }, 
      "3":{ 
       "id":"3", 
       "name":"Ba\u015fl\u0131k", 
       "service_id":"1", 
       "ord":"3", 
       "token":"fheader", 
       "type":"2", 
       "created_at":null, 
       "updated_at":null 
      }, 
      "4":{ 
       "id":"4", 
       "name":"Link A\u00e7\u0131klamas\u0131", 
       "service_id":"1", 
       "ord":"4", 
       "token":"flink_description", 
       "type":"2", 
       "created_at":null, 
       "updated_at":null 
      } 
     } 
     }, 
     "2":{ }, 
     "3":{ } 
} 

我注意到,像排序的所有角度酷功能,通过数据过滤循环是基于JavaScript数组,所以在Angular 4中处理类似结构的最佳方法是什么,例如用于* ngFor或使用过滤器等等。例如,如果我试图迭代此对象Ng我得到

Error: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.

在这一点上我不会不知道什么动作是最好的,我可以将对象转换为数组,但这是我最好的方法吗?

+0

@Sajeetharan 在Angular 4中处理类似结构的最佳方法是什么? 我应该将它转换为数组还是将所有内部对象转换为数组,或者是否应该使用一些自定义代码来分析我的对象?什么是最好的方法! – ImadBakir

+0

你可以处理任何结构,因为它的一个json – Sajeetharan

+0

被标记为不清楚你在问什么,最好的方法涉及到什么用例?你可以在javascript中处理没有问题的对象,地图和数组。这不是真正的角度相关。 –

回答

0

我认为结构可以改进。在“字段”下使用对象数组是更好的选择。然后你将能够遍历该数组。

+0

是的,我同意,但我不得不编辑框架核心来做到这一点,我的框架返回,我不知道为什么 – ImadBakir

0

任何人谁可能会遇到类似的问题, 基于@ThomasSablikcomment和以他提醒有关使用管道来处理它之后,我能找到合适的方法我一直在寻找, 和我目前使用的下面的管道就像一个魅力

export class KeyValuesPipe implements PipeTransform { 
    transform(value, args:string[]) : any { 
    let keys = []; 
    for (let key in value) { 
     keys.push({key: key, value: value[key]}); 
    } 
    return keys; 
    } 
} 

感谢托马斯把我放在正确的方向。