为了账号安全,请及时绑定邮箱和手机立即绑定

vue如何渲染websocket数据怎么回事哈啊?

vue如何渲染websocket数据怎么回事哈啊?

烙印99 2019-07-27 00:19:02
vue如何再页面渲染websocket请求得到的数据data(){return:{marketTrades:[],}},mounted(){this.someThing();},methods:{someThing(){constwebsocketId=String(this.optionValue);constws=newWebSocket("ws://192.168.8.8888:8888/message");ws.onopen=function(){  const from={"req":"sub","channel":"market.all","market":websocketId}  ws.send(JSON.stringify(from));};ws.onmessage=function(evt){ constresult=evt.data; constdata=JSON.parse(event.data) this.marketTrades=data.data['market.trades'];//实时成交数据 console.log(this.marketTrades);//实时成交数据,这里能正确返回需要的数据};}}在websocket里面能正确打印出‘实时成交数据’,但是要把数据渲染到界面中的时候,这个this.marketTrades是空。我在网上查过,说是数据的作用域不同,但是还是找不到解决方法请问下这种应该怎么去正确渲染呢
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

something(){
varself=this
onmessage=function(){
self.marketTrades=....
}
}
                            
查看完整回答
反对 回复 2019-07-27
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

也可以用es6箭头函数
ws.onmessage=(evt)=>{
console.log(this.marketTrades);
}
                            
查看完整回答
反对 回复 2019-07-27
  • 2 回答
  • 0 关注
  • 322 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信