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

  • 淘宝网店推广之整体营销(淘宝 推广)

    淘宝网店推广之整体营销(淘宝 推广)

  • word怎么插pdf图片格式(word文档怎么插pdf图)

    word怎么插pdf图片格式(word文档怎么插pdf图)

  • qq主页怎么不显示空间说说(qq主页怎么不显示会员)

    qq主页怎么不显示空间说说(qq主页怎么不显示会员)

  • 什么叫隐藏无效视频(取消隐藏无效)

    什么叫隐藏无效视频(取消隐藏无效)

  • sim卡坏了怎么补办(sim卡坏了怎么补办异地)

    sim卡坏了怎么补办(sim卡坏了怎么补办异地)

  • 华为p40有呼吸灯吗(华为p40呼吸灯在哪里设置)

    华为p40有呼吸灯吗(华为p40呼吸灯在哪里设置)

  • win+d是什么快捷键(win+e是什么快捷键)

    win+d是什么快捷键(win+e是什么快捷键)

  • 华为手机很久不用无法启动(华为手机很久不用忘记密码怎么办)

    华为手机很久不用无法启动(华为手机很久不用忘记密码怎么办)

  • 小米10和10pro区别外观(小米10和10pro哪个更好)

    小米10和10pro区别外观(小米10和10pro哪个更好)

  • qq密码输入错误多少次会被冻结(qq密码输入错误两次怎样删除错误次数)

    qq密码输入错误多少次会被冻结(qq密码输入错误两次怎样删除错误次数)

  • icloud照片怎么下载到电脑上(iCloud照片怎么下载回手机)

    icloud照片怎么下载到电脑上(iCloud照片怎么下载回手机)

  • 苹果11怎么调静音模式(苹果11怎么调静音模式下震动)

    苹果11怎么调静音模式(苹果11怎么调静音模式下震动)

  • 怎样看对方卸载了抖音没有(怎么看对方微信卸载了)

    怎样看对方卸载了抖音没有(怎么看对方微信卸载了)

  • a11x和a11有啥区别(a11x和a12对比)

    a11x和a11有啥区别(a11x和a12对比)

  • 内存条影响电脑的什么(内存条影响电脑内存吗)

    内存条影响电脑的什么(内存条影响电脑内存吗)

  • 段前18磅怎么设置(word段前18磅怎么设置)

    段前18磅怎么设置(word段前18磅怎么设置)

  • 内存条接触不良的表现(内存条接触不良会导致蓝屏吗)

    内存条接触不良的表现(内存条接触不良会导致蓝屏吗)

  • 中国联通家庭网关是什么(中国联通家庭网关)

    中国联通家庭网关是什么(中国联通家庭网关)

  • 手机版微博怎么看收藏(手机版微博怎么批量删除微博)

    手机版微博怎么看收藏(手机版微博怎么批量删除微博)

  • 正常键盘尺寸是多少(键盘尺寸是多少)

    正常键盘尺寸是多少(键盘尺寸是多少)

  • vivox9手机有没有nfc(vivox9手机有没有最近删除)

    vivox9手机有没有nfc(vivox9手机有没有最近删除)

  • mt6762相当于骁龙哪种(mtkmt6762相当于骁龙多少)

    mt6762相当于骁龙哪种(mtkmt6762相当于骁龙多少)

  • iphonexs有指纹解锁吗(苹果xs的指纹解锁)

    iphonexs有指纹解锁吗(苹果xs的指纹解锁)

  • 小米的5g手机有哪些(小米5g手机有NFC功能的)

    小米的5g手机有哪些(小米5g手机有NFC功能的)

  • 怎么查看鼠标当前dpi(怎么查看鼠标当前dpi数值)

    怎么查看鼠标当前dpi(怎么查看鼠标当前dpi数值)

  • r17录屏在哪里设置(oppor17录屏设置在哪)

    r17录屏在哪里设置(oppor17录屏设置在哪)

  • vivo最近删除怎么恢复(vivo最近删除怎么恢复照片)

    vivo最近删除怎么恢复(vivo最近删除怎么恢复照片)

  • 苹果xrgps在哪(苹果xrgps在哪里)

    苹果xrgps在哪(苹果xrgps在哪里)

  • avguard.exe是安全进程吗 avguard进程有什么作用(adguard安全)

    avguard.exe是安全进程吗 avguard进程有什么作用(adguard安全)

  • 企业收取的租金应当计入
  • 会计电算化的内容及过程
  • 股权转让分期付款合同范本
  • 取暖费摊销期限是多少年
  • 贸易企业可以委托代理吗
  • 单位多久查一次征信
  • 应付账款和长期负债
  • 公司股东没有认缴资金
  • 备用金三栏式明细账图片
  • 固定资产投资转化为gdp比例
  • 公司租用办公室需要交房产税吗
  • 保障房异地建设费缴纳契税吗?
  • 预缴增值税附加税怎么算
  • 企业转让未入账怎么办
  • 税控专用设备抵扣分录
  • 什么情况下是应收账款
  • 建安企业销售收入如何确认
  • 房屋建筑物评估技术鉴定表
  • 建筑工程地址
  • 有了营业执照就可以买社保了吗
  • 公司注销过程中如果有纠纷怎么办
  • 已使用固定资产出售增值税
  • 形式发票需要报关吗
  • 资产负债应付账款怎么算
  • bios术语
  • win11如何恢复win10
  • 华硕笔记本电脑售后维修服务网点
  • 酒店安装监控费用谁出
  • 政府会计制度新旧衔接图
  • 事业单位收到奖励款怎么入账
  • 生产经营所得个税表
  • 错账改正方法
  • 应税货物销售额怎么填
  • win7安装高版本chrome
  • PHP:clearstatcache()的用法_Filesystem函数
  • 建筑公司结算会计
  • npp怎么安装
  • 在anaconda下安装python
  • 超出经营范围开票怎么处理
  • 瑞士·劳特布龙嫩小镇
  • 圣安德鲁斯市
  • php获取当前页面url
  • 暂估和开票的差别是什么
  • window cuda
  • vue有哪些方法
  • vuexy
  • thinkphp route
  • 个人申请给公司账户转账
  • 营改增后工程分包财务
  • python的socket
  • 商标注册费用可以退吗
  • 电子发票的优点好处
  • 收到银行承兑汇票计入什么科目
  • 小规模纳税人会自动转为一般纳税人
  • sqlserversa用户登录失败
  • 其他应付款的会计编码
  • 个体户如何填报工商年报资金数额
  • 行政事业单位零星维修相关规定
  • 业务招待费比例控制规定
  • 进项税额转出为什么加到销项税额里
  • 建筑企业外经证需要准备什么资料
  • 建筑业异地预交税款最新规定
  • 失业保险金的支付方式
  • 商业地产会计账务怎么做
  • 收到工程款怎么入账
  • 资本公积可用于弥补企业亏损
  • 购买设备的运费增值税计入成本吗
  • sql server如何查询
  • Linux下MySQL5.7.18二进制包安装教程(无默认配置文件my_default.cnf)
  • freebsd命令大全
  • dllhost应用程序异常
  • win7怎么调音效
  • linux中的rpm什么意思
  • vue cli3 webpack配置
  • js简单实现鼠标移动后面文字也移动
  • python运行出现none
  • jquery确认取消对话框
  • 工程合同可以违背国家规范吗
  • 龙岗税务分局管辖范围
  • 税务局怎么知道房屋出租
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设