因此,我无法从livestream websocket中引入数组,这是作为JSON出现的。
没有看到任何记录在成员检查,但很多是打印出与console.log(数据)。获取错误:
-94 Uncaught Error: Assertion Failed: You must include an `id` in a hash passed to `push` (但在每个livestream更新中都包含一个ID )。
,这是代码: http://jsbin.com/qapik/1/edit?html,js,output
杰森看起来..。
{
"group":{
"usage":{
"case1":0,
"case2":0,
"case3":0
},
"sunshine":"00/00/0000",
"id":1010,
"device_info":11.5,
}
}控制台显示了更新..。
Tue Apr 01 2014 09:22:09 GMT-0400 (EDT): group update: {"group": ...最后,我想展示{{#各}{device_info}}.还有更多。
我哪里出问题了?
谢谢!
编辑-解决方案:
App.ApplicationRoute = Ember.Route.extend({
activate: function() {
var socket = window.io.connect('http://localhost:8887');
var self = this;
socket.on('group_live_stream', function(data){
var dataObj = JSON.parse(data); // data happens to be a JSON string
self.store.push('group',dataObj.group);
});
}
});发布于 2014-04-01 15:48:26
推到存储上的对象应该格式化,如下面的示例所示:push
{
"usage":{
"case1":0,
"case2":0,
"case3":0
},
"sunshine":"00/00/0000",
"id":1010,
"device_info":11.5
}换句话说,当您将它推到存储上时,不应该将对象包装在group中。这与Ember数据使用REST适配器期望JSON响应的方式有很大的不同(当ED获得组记录时,它确实期望有一个像{group:{...}}这样的对象)。
https://stackoverflow.com/questions/22787291
复制相似问题