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

  • 蚂蚁森林怎么浇水(蚂蚁森林怎么浇水1000)

    蚂蚁森林怎么浇水(蚂蚁森林怎么浇水1000)

  • 手机同步是什么意思

    手机同步是什么意思

  • 启用宏是什么意思(启用宏功能是什么意思)

    启用宏是什么意思(启用宏功能是什么意思)

  • 抖音私信骂人封禁是多长时间(抖音私信骂人封禁后就没事了吗)

    抖音私信骂人封禁是多长时间(抖音私信骂人封禁后就没事了吗)

  • 苹果7能更新ios13.4.1吗(苹果7能更新ios15.6吗)

    苹果7能更新ios13.4.1吗(苹果7能更新ios15.6吗)

  • 为什么苹果手机电筒突然用不了(为什么苹果手机屏幕亮度突然变暗)

    为什么苹果手机电筒突然用不了(为什么苹果手机屏幕亮度突然变暗)

  • 苹果手机后置摄像头和手电筒打不开(苹果手机后置摄像头模糊不清是怎么回事)

    苹果手机后置摄像头和手电筒打不开(苹果手机后置摄像头模糊不清是怎么回事)

  • 苹果手机输入法总是自动切换(苹果手机输入法怎么设置)

    苹果手机输入法总是自动切换(苹果手机输入法怎么设置)

  • 坦白说获得线索对面知道吗(坦白说获得线索对方能看到吗)

    坦白说获得线索对面知道吗(坦白说获得线索对方能看到吗)

  • vivov1816a是什么型号(vivov1838a是什么意思)

    vivov1816a是什么型号(vivov1838a是什么意思)

  • 35mm和50mm镜头区别(35镜头和50镜头区别)

    35mm和50mm镜头区别(35镜头和50镜头区别)

  • 抖音怎么只允许一个人看(抖音怎么只允许关注的人评论)

    抖音怎么只允许一个人看(抖音怎么只允许关注的人评论)

  • idc是什么证(idc是什么职位)

    idc是什么证(idc是什么职位)

  • 小米cc9多少时间充满电(小米cc9e多长)

    小米cc9多少时间充满电(小米cc9e多长)

  • 怎样制作图片配文字(怎样制作图片配诗)

    怎样制作图片配文字(怎样制作图片配诗)

  • 天猫退款多久到账(天猫退款多久超时)

    天猫退款多久到账(天猫退款多久超时)

  • 两个oppo手机怎么互相定位(两个oppo手机怎么同步所有东西)

    两个oppo手机怎么互相定位(两个oppo手机怎么同步所有东西)

  • 华为快充协议是什么(华为快充协议是PD吗)

    华为快充协议是什么(华为快充协议是PD吗)

  • 港版airpods大陆保修吗(港版的airpods和国行的区别)

    港版airpods大陆保修吗(港版的airpods和国行的区别)

  • 小红书如何修改密码(小红书如何修改收货地址)

    小红书如何修改密码(小红书如何修改收货地址)

  • Linux系统下安装跨平台团队开发工具Vagrant的教程(linux系统安装浏览器)

    Linux系统下安装跨平台团队开发工具Vagrant的教程(linux系统安装浏览器)

  • uniapp自定义tabbar(支持中间凸起,角标,动态隐藏tab,全端适用)(uniapp自定义tabbar功能)

    uniapp自定义tabbar(支持中间凸起,角标,动态隐藏tab,全端适用)(uniapp自定义tabbar功能)

  • 帝国cms之安全设置最优化分享(帝国cms破解授权)

    帝国cms之安全设置最优化分享(帝国cms破解授权)

  • 计入职工福利费的有哪些
  • 计提所得税会计处理
  • 海运报文是什么意思
  • 债务承担规定是什么意思
  • 广交会展务
  • 开淘宝店怎么做账
  • 公司提供午餐的目的
  • 无租房合同可以取住房公积金吗
  • 租赁厂房电费
  • 运输发票抵扣税怎么算
  • 增值税专用发票几个点
  • 建筑施工安全费用专项检查报告怎么写
  • 应付账款逾期利息会计分录
  • 企业所得税怎么征收
  • 装修公司在装修完后增加费用
  • 注册资本的变更
  • 增值税进项税已转出后能否再抵扣
  • 小规模企业残疾人免税政策
  • 酒店工作车工作间标准
  • 企业职工补助
  • 电梯按几年摊销
  • 生育津贴需要缴纳五险一金吗
  • 收入准则建造合同预付款
  • 1697508301
  • 网络共享每次都要输入密码
  • 销售方的现金折扣怎么处理
  • sadge什么意思
  • 美容店销售收入怎么算
  • win7系统怎么重装win10系统
  • 如何用mac制作ppt
  • 房地产资质代理公司排名
  • macos如何备份
  • win11安装程序提示非管理员账号
  • 股票发行费用怎么处理
  • 电风扇需要用完电再充吗
  • 工业企业在进行材料采购
  • 提前支付的费用记账
  • 存货损失账务处理新规定
  • 非洲加纳霍霍埃族是个国家吗
  • 待提出票据交换及转汇款怎么做账
  • php获取api内容
  • 阿里巴巴达摩院ai
  • 增值税申报表填错不影响税额
  • 加工取得的存货成本会计分录
  • 财政零余额账户是什么
  • 个人所得税大病医疗是什么意思
  • js中的对象种类有哪些
  • 发票税率怎么改成3%
  • 税控系统技术维护费会计处理280
  • 工会经费计税依据是应发还是实发
  • 支出应计入管理费用,而且要根据其发生额
  • 土地使用权是什么权利
  • 纳税调整调减有哪些
  • 固定资产特点有
  • 为什么要加大研发投入
  • 定期定额户超过9万如何交个税
  • 库存商品盘亏计哪个科目
  • 一般纳税人怎样开3个点的专票
  • 预缴增值税及附加可以在电子税务局申报吗
  • 专用发票不抵扣联可以当普票用吗?
  • 教育行业的成本怎么做账
  • 在建工程预付款授信
  • 民营企业固定资产管理规定
  • 64位win7旗舰版右下角音量小喇叭图标不见了怎么找回?
  • 苹果电脑安装macos怎么安装
  • 苹果电脑mac系统键盘无法找到
  • centos7怎么看cpu和内存
  • mac使用命令
  • 苹果手机价格
  • iconindex什么意思
  • win7系统玩游戏怎么样
  • 在linux系统中,用来存在系统所需
  • Perl实现高水线算法(解决多值比较问题方法)
  • python提供三种基本数值类型
  • node.js怎么样
  • sed cant read
  • shell脚本-lt
  • unity游戏开发软件
  • jquery获取页面元素
  • 地方税务局分局局长级别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设