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

  • 缴纳汇算清缴所得税怎么做账
  • 对方给我公司开的红字发票如何查询
  • 咨询合同按什么交印花税
  • 合营企业和联营企业会计核算
  • 库存商品月末必须结转吗
  • 小规模按季申报 月销售收入不超过
  • 项目固定资产投资强度
  • 固定资产更换零部件的入账价值
  • 一般纳税人转登记为小规模纳税人
  • 期间费用的控制方法主要有
  • 作为福利手段福利概念的三个条件是
  • 评估价与成交价相差多少合法
  • 物业公司付电业公司的电费如何做账务处理?
  • 固定资产忘了折旧有什么影响
  • 增值税税率和征收率有什么区别
  • 土地证是商业用地
  • 合同印花税进哪个科目
  • 增值税零申报,企业所得税会有税额吗
  • 增值税减免的账务处理可以直接应交税费减免税款吗
  • 怎么核对银行存款余额和对账单余额
  • 企业净资产增长率上升说明什么
  • 分包开普通发票还是增值税专用发票?
  • 以前的员工怎么交社保
  • 公司承兑汇票怎么兑现
  • 软件企业收到即征即退分录
  • 企业债卷利息收入是营业收入吗
  • 企业所得税汇算清缴操作流程
  • thinkphp5开发教程
  • 批量删除 超链接
  • 出卖固定资产企业处罚
  • 有销项无进项税务局会怎么罚
  • 企业现金流量表怎么分析
  • 开展党建系列活动
  • 核电站弃置费用怎么算
  • 收到职称评审费怎么做账
  • 青龙面板库怎么用
  • cuda安装步骤
  • 微信小程序实现支付功能
  • python爬虫推荐
  • 蓝桥杯咋样
  • vue从0创建一个项目
  • squid 启动命令
  • 报关单的运费没填怎么办
  • 固定资产实收资本按照什么入账
  • mysql @参数
  • mysql底层是什么
  • 印花税申报完成如何缴纳
  • 盘盈固定资产如何处理
  • 工会筹备金有优惠政策吗
  • 金税盘一天可以开多少张发票
  • 公司贷款 利息
  • 定额备用金与非备用金
  • 一次性开票分期收入账务处理
  • 以土地出资的税费怎么算
  • 企业减资要交税嘛
  • 债券分期付息到期还本的意思
  • 3个点专票和6个点专票区别
  • 每月发票认证时间
  • 买新车贷款
  • win2003远程桌面最大连接数
  • “explorer.exe”进程文件
  • centos文本编辑器
  • win7声音方案存在哪里
  • mediaexplorer是什么意思
  • launch.exe打不开
  • win8应用商店废了
  • [图文教程]Win10家庭版怎么快速升级到win10专业版?
  • windows8截图保存在哪里
  • win8安装ie11
  • Cocos2dx3.2 Crazy Tetris 绘制不规则方块 遮罩(ClippingNode的使用)
  • css中背景图片设置
  • 可视化gradcam
  • [置顶]游戏名:chivalry2
  • Javascript中的this
  • 使用ngView配合AngularJS应用实现动画效果的方法
  • 总体把握是什么意思
  • 深入理解新发展理念,推进供给侧结构性改革
  • js判断浏览器内核和版本
  • android通信机制
  • 西安车辆购置税在线交费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设