2013-06-27 51 views
0

我目前正在Angular的後端網站上工作,只有很少的underscore.js。 對於我的後端,我使用的PHP框架Laravel 4非常方便。 我面臨的問題是:提取數組的第一個元素失敗,並顯示underscore.js

當我用角度查詢url的響應是很好,乾淨,所以我可以ng - 重複沒有問題。但是當我試圖用下劃線提取響應的第一個元素時,它給了我:未定義。

這裏是我的控制器代碼的摘錄:

var Client = $resource('myUrl/that/works/fine/and/returns/well'); 

var resultat = Client.query(); 

$scope.clients = resultat ; 

$scope.isAnArray = _.isArray(resultat); // it returns true; 

如果我現在嘗試波紋管$ scope.myFirstElemInArray線是未定義???

$scope.myFirstElemInArray = _.first(resultat); // expected:the first element. 

我真的沒有看到它有什麼問題。這裏是我的變量resultat的內容:您需要使用回調爲了這個,我相信

[{"id":"2","email":"[email protected]"},{"id":"3","email":"[email protected]"}] 

如果有人能給予一點幫助,我真的越來越瘋狂與此 奧利維爾(FR)

回答

3

。這裏是什麼$resource文件說

意識到調用$資源對象的方法 立即返回一個空引用(取決於 IsArray的對象或數組)是很重要的。一旦數據從服務器返回,現有的 引用就會填充實際數據。這是一個有用的技巧 ,因爲通常該資源被分配給由視圖呈現的模型,然後 。有一個空對象導致沒有渲染, 一旦數據從服務器到達,然後對象與數據填充 和視圖自動重新呈現自己顯示 新數據。這意味着在大多數情況下,不需要爲動作方法編寫回調函數 。

Client.query(function(data) { 
$scope.myFirstElemInArray = _.first(data); 
}); 
相關問題