位置: 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)(埃托沙国家公园发展观兽旅游的优势条件)

  • 企业所得税的纳税人有哪些简答题
  • 小规模纳税人认定的最新标准2022
  • 用微信和支付宝支付 会计如何做账
  • 用友U8财务报表UFO怎么生成
  • 会计账本需要装订的有哪些
  • 应纳税所得额为什么要减去国债利息收入
  • 社保费个人承担部分
  • 出口货物不能退税的原因
  • 以前年度亏损弥补会计分录
  • 负债的账面价值减去未来期间计算应纳税所得额
  • 已认证的进项税发票要退回,怎么操作
  • 国有企业党组织工作应遵循的原则包括
  • 补发工资如何计提
  • 2019招标费用收取标准
  • 开公司前期费用有什么
  • 用银行汇票付款的会计分录
  • 发票复印件怎么打印
  • 教育附加费的计算方法
  • 的税收分类编码
  • 无形资产的入账价值包括宣传费吗
  • 资产处置损益是收入还是费用
  • 自然人税收管理扣缴端(原个税)申报实训
  • 电子商务企业类别有哪些
  • 差额纳税的会计处理
  • 销售残次品怎么处罚
  • 其他应收款注销数额太大
  • 开发企业房产税如何征收
  • 固定资产残料收入的账务处理
  • 什么是产品?产品的举例子
  • 委托代销商品的科目编码
  • 高新技术企业研发费用占比要求
  • thinkphp demo
  • paypal付款会自动换汇吗
  • 华为od机试题题库
  • php函数传值的引用是什么
  • win11设置项改中文
  • 自然人办税服务大厅
  • 农村土地承包经营权流转合同
  • 长期股权投资成本怎么计算
  • 100万的工程怎么开发票
  • 公司进项抵税
  • {dede:channel type='son'}无栏目调用同级栏目
  • 织梦模板首页logo修改
  • 借款单属于外来单据吗
  • 个税申报信息怎么填
  • 企业银行存款的利息收入计入财务费用的借方A对B错
  • 固定资产没收到发票能折旧吗
  • 捐赠支出的账务处理
  • 承兑汇票利息分录
  • 生产成本制造费用结转
  • 固定资产清理如何计算
  • 进项税额转出的分录怎么做
  • 进项发票已入账进项税,但是未抵扣怎么办
  • 没有发票也可以报销
  • 菜品毛利怎么计算
  • 企业其他应收款余额非常大的原因
  • 什么是电子商业承兑汇票贴现
  • 公司折旧怎么算
  • mysql分页实现
  • mysql 树状查询语句
  • centos邮件服务器
  • 2021win10激活
  • linux中sed
  • centos8 php7.4
  • 怎么清空mac用户数据
  • fpassist.exe是什么进程 有什么作用 fpassist进程查询
  • mac版本itunes
  • linux虚拟机怎么调出命令行
  • iptables centos
  • jQuery实现select模糊查询(反射机制)
  • 微信公众号javascript
  • android数据库使用
  • 学习雷锋好榜样
  • linux两个版本
  • JavaScript小技巧整理
  • 税控盘升级后开票流程
  • 房产证加名字需要哪些手续和费用
  • 大专学费减免多少
  • 车辆免征信息怎么查
  • 查询产品真伪怎么查询app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设