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

  • 怎么算一般纳税人
  • 已抵扣进项税额转出怎么申报
  • 组成计税价格是销售额吗
  • 已申报税额是指啥
  • 金税盘购买的会计分录
  • 公司名称变更在哪个网站
  • 经营活动产生的净现金流量计算公式
  • 税务局三代手续费政策
  • 当月发票作废需要收回么
  • 未加盖发票专用章的发票是不合规
  • 回迁房项目的会计和税务处理
  • 增值税加计抵减账务处理
  • 三免三减半税收优惠政策文件
  • 建筑单位的工作岗位有哪些
  • 会计相关行业的工作职责和招聘要求
  • 个人税收起征点调整
  • 奖金收入纳税
  • 财政票据税务局能查到吗
  • 收到存款利息收入
  • 旅游业小规模差额计税的能开1%
  • 如何在vue项目中导入外部的包
  • php实现微信发红包的方法
  • windows 10预览版
  • app制作公司开发一个app的价格
  • 企业接受捐赠的税务处理
  • 小微企业的季度所得税怎么计算
  • php生成二维码海报
  • 观察者模式java实现
  • wx-java
  • 如何认识软件测试
  • 2023年会出什么车
  • timeout&f
  • 旅行社的增值税怎么算
  • 营改增后租金收入交什么税
  • 电子发票报税怎么操作
  • 持有至到期投资属于什么科目
  • 代理付银行手续费合法吗
  • 社保代扣代缴的办理流程
  • 公司人员工资计算方法
  • 当月减少的固定资产为什么计提折旧
  • 个税汇算清缴是退税吗
  • 支付定金的账务怎么处理
  • 公司欲购买一台设备,现在一次性
  • 进项税额是怎么算的
  • 发放工资社保的账务处理
  • 审计库存现金盘点表
  • 个人所得税税前扣除凭证
  • 工程建设项目融资方式有哪些
  • 企业支付宝收款码是进公账吗
  • 租房子租一半不租了违约金付的,房东不肯退钱怎么办
  • 产品是如何产生的
  • mybatis collection 多条件查询的实现方法
  • sql server的介绍
  • Windows10安装包下载
  • win10预览版21390
  • Windows 7 和 Vista 下使用 Alipay 的解决方法总结
  • 安装双系统ubuntu和win
  • windows远程桌面怎么开启
  • win10周年更新版是什么意思
  • win102021年1月大更新
  • win8正版系统自带
  • 一、Unity3D 5.0.1-示例项目“汽车游戏”的展示及开发准备
  • ExtJS扩展 垂直tabLayout实现代码
  • jquery编程
  • javascript Event对象详解及使用示例
  • Linux删除大量文件
  • python利用matplotlib将扇形平分成50份
  • java scripts
  • jquery层级选择器
  • python的爬虫模块
  • android内存优化三 简书
  • javascript基本语法
  • 仿微信语音聊天
  • 判断jquery对象是否存在
  • 是否一般纳税人怎么查
  • 建行信用卡怎么提额
  • 国家税务总局监控的重点税源纳税人的标准是
  • 兼营增值税应税项目和免税项目
  • 美国企业所得税税率2022
  • 成都租房备案凭证怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设