2016-07-27 64 views
0

让我们说,我从映射它Access对象或ngfor在angular2

return this._http.get(url).map(res => res.json()); 

Ajax请求具有以下数据的不对称阵列

[{'name':'user','password':'123'},{'title':'officer','grade':'5','age':'5'}] 

,我想访问它在angular2 html模板,我直接知道每个块对应的是什么,它在技术上不是一个你会循环的数组。

有没有一种角度访问数据而不使用管道或ngFor的方法?

目前

我使用的是非常脏方法,通过切片ngFor然后使用字典数据

<div *ngFor="let i of element| slice:0:1"> 
<p> {{element.name}} </p> 
<p> {{element.pass}} </p> 
</div> 
<div *ngFor="let i of element| slice:1:2"> 
<p> {{element.title}}</p> 
... 

有较少设置一个简单的方法来做到这一点,因为我不断遇到异常hundres,我可以没有找到一个简单的记录方式来访问JSON对象,而无需开销设置?

回答

3

你需要,如果你得到的数据异步

{{element && element[0].name}} 
{{element && element[0].pass}} 
{{element && element[1].title}} 
+0

这并不适用于[[{}] {}]这种结构的守卫空值?与{{元素&&元素[0] [1] .title}} – Newbie

+0

是的,这种技术也可以,请问你能解释或链接文档? – Newbie

+0

不确定你在找什么文件。问题在于,在数据从异步'this._http.get()'到达之前,Angular试图解析绑定表达式。如果'element'为'null'且'element [...] ....',我的答案中的代码只返回'null'。这是基本的JavaScript代码。没什么特别的。 '&&'是短路。当'element == null'时,'&&'后面的部分根本不被评估。 –