最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于vue-socket.io使用及版本原因消息無(wú)法監(jiān)聽bug

 更新時(shí)間:2022年10月18日 14:47:16   作者:菑恩_  
這篇文章主要介紹了關(guān)于vue-socket.io使用及版本原因消息無(wú)法監(jiān)聽bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

主要記錄vue-socket.io使用,以及使用版本不同導(dǎo)致消息無(wú)法監(jiān)聽問(wèn)題。

一、vue-socket.io使用

1.npm下載

npm install vue-socket.io --save-dev

2.在src文件夾里面新建lib文件夾

在lib文件夾里面新建socket.js

代碼如下(示例):

import Vue from 'vue'
import VueSocketIO from 'vue-socket.io'
import { getToken } from "../../libs/util";
let testA;
let wesocket = {
? debug: true,
? connection: ''
}
function getSocket (t) {
? console.log('地址',process.env.VUE_APP_SOCKET)
? var socketIp = process.env.VUE_APP_SOCKET// socket地址\
? wesocket.connection = socketIp
? if (getToken() || t) { // 判斷是否有token ?tokenId ?sessid
? ? let tk = getToken() ? getToken() : t
? ? wesocket.connection = socketIp + '?sessid=' + tk
? }
? wesocket.debug = true // 是否開啟控制臺(tái)監(jiān)聽打印數(shù)據(jù)
? if (wesocket.connection != '') {
? ? Vue.use(new VueSocketIO(wesocket))
? }
}
getSocket();
//掛在在全局prototype上
Vue.prototype.$getSocket = getSocket

export default testA

3.在main.js引入

代碼如下(示例):

import VueSocketIO from './lib/socket' ?
new Vue({ ?
?? ?el: '#app', ?
?? ?VueSocketIO, ?
?? ?components: { ?
?? ?App ?
}, ?
template: '<App/>' ?10.?? ?})

4.在組件中的用法

代碼如下(示例):

//跟methods同級(jí)?
sockets: {
? ?connect: function () {
? ? ? ?console.log('connect====連接');
? },
? ?// 監(jiān)聽斷開連接,函數(shù)
? ?disconnect() {
? ? ? ?console.log('disconnect====監(jiān)聽斷開連接')
? ?},
? ?reconnect () {
? ? ? ?console.log('reconnect====再連接')
? ?},
? ?msginfo: function (data) {
? ? ? ?let jsonObj = JSON.parse(data) ;
? ? ? ?console.log('jsonObj++++++++++',jsonObj)
? ?},
? ?msginfoTip: function (data) { // socket獲取冒泡信息
? ? ? ?let data1 = JSON.parse(data);
? ? ? ?let _this = this
? ? ? ?// console.log('data1獲取冒泡信息',data1)
? ?}
}

注意: vue-socket.io3.07版本及以下版本可以這樣使用,能連接并且有數(shù)據(jù)返回,但是vue-socket.io3.08,3.09有bug連接了但是接收不到數(shù)據(jù)。

二、版本導(dǎo)致消息無(wú)法監(jiān)聽問(wèn)題 

vue-socket.io3.07版本及以下版本可以這樣使用,能連接并且有數(shù)據(jù)返回,但是vue-socket.io3.08,3.09有bug連接了但是接收不到數(shù)據(jù)。

在3.0.8和3.0.9下這樣寫無(wú)效

3.0.8和3.0.9要像下面一樣寫 利用listener來(lái)監(jiān)聽

代碼如下(示例):

this.sockets.listener.subscribe('connect', (data) => {
  console.log('connect連接成功')
})

this.sockets.listener.subscribe('msginfo', (data) => {
  console.log('數(shù)據(jù)監(jiān)聽msginfo',data)
})

this.sockets.listener.subscribe('msginfoTip', (data) => {
  console.log('數(shù)據(jù)監(jiān)聽msginfoTip',data)
})

總結(jié)

vue-socket.io使用版本不同,監(jiān)聽數(shù)據(jù)方式不同。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

和田市| 彭阳县| 太湖县| 温州市| 双辽市| 中宁县| 遵化市| 景德镇市| 武功县| 金华市| 莱芜市| 兴义市| 永胜县| 天水市| 游戏| 集安市| 新余市| 长治县| 郯城县| 苏尼特左旗| 友谊县| 常宁市| 彭泽县| 和田县| 彝良县| 太康县| 黄骅市| 清涧县| 麻阳| 深泽县| 阿坝县| 龙泉市| 泰宁县| 卢氏县| 清镇市| 新乡市| 吉木萨尔县| 无棣县| 东丽区| 东方市| 财经|