2013-03-11 45 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并使用转换来更新可视化。