2013-03-11 40 views
0

「概念」問題的位。我的任務是創建一個顯示公司統計信息的內部屏幕。我認爲使用前端框架(目前在backbone和ember之間)是一件好事,但問題是,我對'統計服務器'可以提供的服務非常有限,所以像socket.io這樣的解決方案令人遺憾地不在框架中。不過,我想到有一個非常簡單的API,返回JSON數據:實時統計?

{ 
    "Bob":{ 
     "xs":5, 
     "turnover":10000, 
     "surveys":5 
    } 
} 

然後我可以只是框架民意調查API每隔一兩秒鐘更改。但我需要找到檢測當值已經改變的方式(這樣的警告可以彈出什麼的。)

if(new.value != old.value) alert_function()

但是,這將意味着在這樣做了每一個人物可能會導致混亂。使用backbone或ember.js做這種事情的最好方法是什麼?

回答

1

backbone fetch API支持一個選項{update:true},該選項將在現有值合併到集合中時觸發集合更新事件。然後,您可以捕獲這些更新事件並運行自定義代碼。從鏈接的文檔實例:

例如,爲了獲取一個集合,得到一個對每一個新的模式「添加」事件和「改變」事件,每改變現有的模式,不刪除任何東西:

mycollection.fetch({update: true, remove: false}) 

然後,您可以使用backbone events讓您的視圖偵聽更改並根據需要進行更新。 This question就有一個很好的例子。

此外,這是有點題外話,但當我看到你的標題,我立即想到D3.js。它非常適合輪詢JSON URL並使用轉換來更新可視化。