位置: IT常识 - 正文

Vue连接WebSocket后,监听消息并读取消息内容(onmessage事件),解决将内容赋值到data的属性失败的问题(vuecli websocket)

编辑:rootadmin
Vue连接WebSocket后,监听消息并读取消息内容(onmessage事件),解决将内容赋值到data的属性失败的问题 技术栈前端Vue (包括一些组件、中间件)后端分布式微服务

推荐整理分享Vue连接WebSocket后,监听消息并读取消息内容(onmessage事件),解决将内容赋值到data的属性失败的问题(vuecli websocket),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuecli websocket,web socket vue,vue建立websocket连接,websocket在vue中怎么用,vue-websocket,vue.js websocket,vuecli websocket,vue.js websocket,内容如对您有帮助,希望把文章链接给更多的朋友!

这里就不再详述后端是怎么开发通信服务端的了,因为我主要是后端开发,前端开发花的时间几乎是后端的两倍还要多(其实比较简单,只是自己前端真的不得行🤪)

最近在开发项目里的一个IM(实时通信)模块功能的时候发现,通过服务端转发客户端消息的时候,前端组件的数据一直没办法正常刷新,耗了很久,去查结果发现网上都没有我想要的答案(都是千篇一律的答案),最后还是没解决,那好吧,只能🪜看看了

Vue连接WebSocket后,监听消息并读取消息内容(onmessage事件),解决将内容赋值到data的属性失败的问题(vuecli websocket)

好了,不废话了,直接上代码解决吧:

原来写法 socket.onmessage = function (event) {...} 新的写法 socket.onmessage = (event) => {...}

简单代码演示:

<template><div><p>{{tempContent}}</p></div></template><script>export default { name: "Test", data() { return { socket: null, // 这里定义一个变量,因为后面有其他方法也要用到这个socket通道通信 tempContent: 'Now is null' } }, method: {initWebSocket: function() { // 判断浏览器是否支持WebSocket if (window.WebSocket) { // this.GLOBAL.webSocketPath 这是一个全局变量,填的就是你的websocket的服务端通信地址 // 例子:this.GLOBAL.webSocketPath = ws://localhost:8080/socket this.socket = new WebSocket(this.GLOBAL.webSocketPath); // 监听消息,并将结果映射到对应标签 this.socket.onmessage = function (ev) { // 这里就自己注意转一下哈 console.log("==== onmessage ====") let objTemp = JSON.parse(ev.data); this.tempContent = objTemp.name console.log(objTemp) console.log(this.tempContent) } // 其他那些监听事件就先省略了 } else { console.log("当前浏览器不支持WebSocket"); } },},mounted() { this.initWebSocket(); },}</script>

运行后,触发监听事件,并没有赋值上

修改代码后

<template><div><p>{{tempContent}}</p></div></template><script>export default { name: "Test", data() { return { socket: null, // 这里定义一个变量,因为后面有其他方法也要用到这个socket通道通信 tempContent: 'Now is null' } }, method: {initWebSocket: function() { // 判断浏览器是否支持WebSocket if (window.WebSocket) { // this.GLOBAL.webSocketPath 这是一个全局变量,填的就是你的websocket的服务端通信地址 // 例子:this.GLOBAL.webSocketPath = ws://localhost:8080/socket this.socket = new WebSocket(this.GLOBAL.webSocketPath); // 监听消息,并将结果映射到对应标签 this.socket.onmessage = (ev) => { console.log("==== onmessage ====") let objTemp = JSON.parse(ev.data); this.tempContent = objTemp.name console.log(objTemp) console.log(this.tempContent) } // 其他那些监听事件就先省略了 } else { console.log("当前浏览器不支持WebSocket"); } },},mounted() { this.initWebSocket(); },}</script>

原来没有触发时的情况

触发之后

本文链接地址:https://www.jiuchutong.com/zhishi/288091.html 转载请保留说明!

上一篇:分享24个网页游戏源代码,总有一个是你想要的(十大网页游戏)

下一篇:埃托沙国家公园内一处水坑附近的跳羚,纳米比亚 (© Charlie Summers/Minden Pictures)(埃托沙国家公园发展观兽旅游的优势条件)

  • 华为spnal00是5g手机吗(华为spnal00是什么型号的手机)

    华为spnal00是5g手机吗(华为spnal00是什么型号的手机)

  • 腾讯视频会员怎么给别人用(腾讯视频会员怎么分享给别人)

    腾讯视频会员怎么给别人用(腾讯视频会员怎么分享给别人)

  • 华为手机的返回键在哪设置(华为手机的返回键怎么设置在屏幕上)

    华为手机的返回键在哪设置(华为手机的返回键怎么设置在屏幕上)

  • iphone通知声音怎么换(iphone的通知声音)

    iphone通知声音怎么换(iphone的通知声音)

  • 怎么把好评改成差评(怎么更改好评为差评)

    怎么把好评改成差评(怎么更改好评为差评)

  • 耳机进洗衣机还能用吗(耳机进洗衣机了还有救么)

    耳机进洗衣机还能用吗(耳机进洗衣机了还有救么)

  • 手机右下角有个小人是什么意思(手机右下角有个小人图标怎么取消)

    手机右下角有个小人是什么意思(手机右下角有个小人图标怎么取消)

  • 苹果手机不免提就没声(苹果手机不免提听不到声音怎么回事)

    苹果手机不免提就没声(苹果手机不免提听不到声音怎么回事)

  • 电脑高清线连接显示器不显示(电脑高清线连接电视没声音)

    电脑高清线连接显示器不显示(电脑高清线连接电视没声音)

  • 视频发送后清晰度不高(视频发给别人清晰度会掉)

    视频发送后清晰度不高(视频发给别人清晰度会掉)

  • dpi越大越清晰吗(dpi越大越清晰吗知乎)

    dpi越大越清晰吗(dpi越大越清晰吗知乎)

  • 设备版本过低怎么办(设备版本过低怎么解决)

    设备版本过低怎么办(设备版本过低怎么解决)

  • 为什么qq扩列匹配一直失败(为什么qq扩列匹配失败了)

    为什么qq扩列匹配一直失败(为什么qq扩列匹配失败了)

  • 苹果8plus支持volte吗(苹果8plus支持4k60帧吗)

    苹果8plus支持volte吗(苹果8plus支持4k60帧吗)

  • 怎么查看华为手机蓝牙版本(怎么查看华为手机的位置轨迹)

    怎么查看华为手机蓝牙版本(怎么查看华为手机的位置轨迹)

  • 隔空投送一次能传多少照片(隔空投送一次能传多少张)

    隔空投送一次能传多少照片(隔空投送一次能传多少张)

  • 怎么看天猫排行榜(怎样看天猫榜单)

    怎么看天猫排行榜(怎样看天猫榜单)

  • 小米手环4有什么功能(小米手环4有什么功能能连接手机来电提醒吗)

    小米手环4有什么功能(小米手环4有什么功能能连接手机来电提醒吗)

  • 玩快闪啥意思(玩快闪是什么意思)

    玩快闪啥意思(玩快闪是什么意思)

  • 抖音取消关注能找回吗(抖音取消关注能看到吗)

    抖音取消关注能找回吗(抖音取消关注能看到吗)

  • r5 3600用什么散热器(r5 3600用什么散热器压)

    r5 3600用什么散热器(r5 3600用什么散热器压)

  • ps如何新建文件(ps新建文件的两种方法)

    ps如何新建文件(ps新建文件的两种方法)

  • 畅享和畅玩的区别

    畅享和畅玩的区别

  • word如何生成目录(word如何生成目录和页码)

    word如何生成目录(word如何生成目录和页码)

  • NDSTray.exe - NDSTray是什么进程 有什么用

    NDSTray.exe - NDSTray是什么进程 有什么用

  • 计提资产减值准备体现了会计信息质量特征的( )
  • 固定资产折旧准予扣除是什么意思
  • 其他应收款要做账吗
  • 单位买绿植可以报销吗
  • 会计准则 现金流量
  • 发生销货退回需要退回发票么
  • 交易性金融资产借贷方向
  • 当月报废生产设备一台,原价80万元
  • 上年度的会计分录做错了今年可以调整吗
  • 所有者权益的利得和损失
  • 建筑行业异地预缴
  • 预缴所得税如何做账
  • 印花税是发票吗
  • 什么是遗产税什么是税
  • 收到委托代销清单的会计分录
  • 存货损失的账务处理
  • 研发支出费用如何计算应交所得税?
  • 简易计税视同销售如何处理?
  • 无发票的支出如何入账
  • 定额发票上除了发票章还有其他章吗
  • 工程合同外购设备怎么开票
  • 购进货物不能抵扣进项税额
  • 现金日记账漏记一笔怎么办
  • 编制合并报表的三种理论
  • gws.exe是啥
  • 无形资产投资后退出
  • 包装物逾期是什么意思
  • 小规模纳税企业在应交增值税明细科目
  • php统计目录中文怎么写
  • 克拉克湖国家公园
  • 关于php通用返回的问题
  • vue中的provide/inject
  • 难以置信含义
  • html游戏大全
  • yolov5加入注意力机制后网络后进行剪枝
  • php邮箱smtp发信源码
  • 所有者权益是什么类科目
  • 持有投资期间,被投资单位编制合并报表
  • 增值税报销是什么意思
  • 房子是固定资产的好处
  • java线程的四种基本状态
  • 织梦收费5800的解决方法
  • 开增值税专用发票的好处
  • sql删除表中的某一行
  • 不动产租赁可以享受加计抵减吗
  • 公司缴纳残保金的标准
  • 投资性房地产成本法账务处理
  • 企业从银行取得短期贷款存入银行,属于( )类型变化业务
  • 用现金券付房租违法吗
  • 线上销售会计分录
  • 房地产毛利额纳税调整
  • 资金信息综合服务
  • 工资薪酬所得税税率表最新
  • mysql precision
  • 数据库分页存储方法
  • sql实用教程
  • xp系统开机一直在启动界面
  • windows.old文件夹有啥用
  • win7系统出现蓝屏怎么进去桌面
  • 电脑开机绿
  • win7窗口大小怎么设置
  • centos查看具体版本
  • win8和win10双系统切换
  • win70
  • unity做cg
  • bootstrap-treeview.js
  • opengl绘制坐标轴
  • js 验证数字
  • 批处理 leq
  • js中递归是什么意思
  • js鼠标点击事件监听
  • 省市二级联动小组是什么
  • 关于学习的名言
  • js为什么不能用var定义变量
  • python 元类的作用
  • 办税服务厅怎么开通扣缴端数据下载
  • 欠税款要坐牢吗
  • 天津税务局网上办税厅
  • 申请ipo申请到审批要多久
  • 核定土地增值税的条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设