vue使用websocket的方法实例分析
本文实例讲述了vue使用websocket的方法。分享给大家供大家参考,具体如下:
最近项目需要使用到websocket但是框架是vue 网上查阅很多资料vue-websocket老是连接不上索性就不适用封装的插件了,直接使用原生的websocket 我这边需求是只需要接受就好不需要发送代码如下:
爬坑之路:vue里面this指向问题
第一版使用原生js
mounted(){ console.log(this)----------------------------------------------------------this指向vue this.initWebpack(); }, methods:{ initWebpack(){ letwebsocket=''; if('WebSocket'inwindow){ websocket=newWebSocket("ws://192.168.1.99:8080/tv/websocket"); }else{ alert('当前浏览器Notsupportwebsocket') }//连接成功建立的回调方法websocket.onopen=function(){console.log("WebSocket连接成功") console.log(this)----------------------------------------------------------this指向websocket }; //接收到消息的回调方法 websocket.onmessage=function(event){ console.log(this) console.log(event); this.productinfos=JSON.parse(event.data);//websocket请求过来的是string需要格式 if(demo.offsetHeight第二版:正解
methods:{ initWebpack(){//初始化websocket constwsuri="ws地址"; this.websock=newWebSocket(wsuri);//这里面的this都指向vue this.websock.onopen=this.websocketopen; this.websock.onmessage=this.websocketonmessage; this.websock.onclose=this.websocketclose; this.websock.onerror=this.websocketerror; }, websocketopen(){//打开 console.log("WebSocket连接成功") }, websocketonmessage(e){//数据接收 console.log(e) this.productinfos=JSON.parse(e.data); }, websocketclose(){//关闭 console.log("WebSocket关闭"); }, websocketerror(){//失败 console.log("WebSocket连接失败"); }, }this.websock.onopen 的this指向的是websocket如果想要给vue里面的data里面的变量赋值就需要this指向vue所以需要对websocket的方法赋值
希望本文所述对大家vue.js程序设计有所帮助。