2014-04-03 61 views
0

我有一些應該顯示大量沒有顯示任何數據的數據。我怎樣才能把事情搞定,這樣AngularJS會填充頁面?

在我的HTML我有:

<div ng-controller='OutputController'> 
    <div ng-repeat='user in data.users'> 
     <div ng-repeat='monologue in data.monologues[user]'> 
      <span class='text' ng-bind='monologue.text'></span> 
      <span class='timestamp' ng-bind='new Date(monologue.timestamp).toLocaleString()'></span> 
     </div> 
    </div> 

在我的JavaScript,我有:

var repeatEr = function(data, status, headers, config) 
{ 
    var interval = 1000; 
    angular.extend($scope, data); 

在數據被髮送到我的網頁我有:

{"monologues": {"[email protected]": [["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ["False", 0.0], ... }, "users": ["[email protected]"]}

發生的是它顯示空的結果。

我打算做的是拉取它正在拉動的Ajax數據,然後在相繼的DIV中顯示文本(這裏是「False」)和時間戳。 (但我現在沒有專注於時間戳,只是文本。)

鑑於我有這些數據,我應該如何處理中繼器,以便它能夠相應地顯示結果?

- 或 -

鑑於我有中繼器,我應該被作爲填充數據,以便中繼器將有他們需要什麼?

謝謝,

回答

0

ng-repeat希望你會迭代一個數組。您的data.monologues是一個複雜的對象,因此它沒有顯示任何數據。

爲了使您的代碼正常工作,您需要將data.monologues設置爲複雜對象的數組。

 [{"monologues": {... etc etc ...}}] 
+0

謝謝。我認爲data.monologues [用戶]將[[「False」,0.0],[「False」,0.0] ...]。你是說我應該有數據成爲映射獨立數組的字典數組呢? – JonathanHayward

+0

我在說數據應該是一個Monologue對象數組。 –

0

我:

<div ng-controller='OutputController'> 
    <div ng-repeat='user in data.users'> 
     <div ng-repeat='monologue in data.monologues[user]'> 
      <span class='text' ng-bind='monologue.text'></span> 
      <span class='timestamp' ng-bind='new Date(monologue.timestamp).toLocaleString()'></span> 
     </div> 
    </div> 

的問題是「數據。' - 它的工作更好:

<div ng-controller='OutputController'> 
    <div ng-repeat='user in users'> 
     <div ng-repeat='monologue in monologues[user]'> 
      <span class='text' ng-bind='monologue.text'></span> 
      <span class='timestamp' ng-bind='new Date(monologue.timestamp).toLocaleString()'></span> 
     </div> 
    </div>