2016-07-27 57 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'時,'&&'後面的部分根本不被評估。 –