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

  • 诺基亚2700c线控(诺基亚2700c驱动)(诺基亚2700s)

    诺基亚2700c线控(诺基亚2700c驱动)(诺基亚2700s)

  • 小米mix4怎么开启极速充电(小米MIX4怎么开120帧王者)

    小米mix4怎么开启极速充电(小米MIX4怎么开120帧王者)

  • iphone13pro机身尺寸(苹果13pro机身长多少厘米)

    iphone13pro机身尺寸(苹果13pro机身长多少厘米)

  • 如何清除手机内存(如何清除手机内缓存)

    如何清除手机内存(如何清除手机内缓存)

  • 苹果手机短信标志有个叹号(苹果手机短信标志上有个感叹号)

    苹果手机短信标志有个叹号(苹果手机短信标志上有个感叹号)

  • 苹果耳机录音有杂音滋滋(苹果耳机录音有突突声)

    苹果耳机录音有杂音滋滋(苹果耳机录音有突突声)

  • excel表格不对称怎么做(表格中不对称的表格怎么做)

    excel表格不对称怎么做(表格中不对称的表格怎么做)

  • soul软件头像的绿点是什么意思啊(soul app头像)

    soul软件头像的绿点是什么意思啊(soul app头像)

  • 荣耀20屏幕多大尺寸(荣耀9x手机屏幕多少钱)

    荣耀20屏幕多大尺寸(荣耀9x手机屏幕多少钱)

  • 微信创建群聊没发消息别人知道吗(创建的微信群聊不见了怎么办)

    微信创建群聊没发消息别人知道吗(创建的微信群聊不见了怎么办)

  • 2080max q和2080区别

    2080max q和2080区别

  • 有固态硬盘还需要机械硬盘吗(有固态硬盘还需要硬盘吗)

    有固态硬盘还需要机械硬盘吗(有固态硬盘还需要硬盘吗)

  • 电脑版钉钉英文怎么改成中文(电脑版钉钉英文改中文)

    电脑版钉钉英文怎么改成中文(电脑版钉钉英文改中文)

  • 联想14和14air区别(联想air14和thinkpad)

    联想14和14air区别(联想air14和thinkpad)

  • 微信隐藏手机号在哪设置(企业微信隐藏手机号)

    微信隐藏手机号在哪设置(企业微信隐藏手机号)

  • 红米note8pro支持27w快充吗(红米note8PRO支持一张电信一张联通卡吗)

    红米note8pro支持27w快充吗(红米note8PRO支持一张电信一张联通卡吗)

  • 淘宝上的赞从哪里可以看(淘宝里点的赞在哪里看)

    淘宝上的赞从哪里可以看(淘宝里点的赞在哪里看)

  • 快手播放量低怎么回事(快手播放量低怎么办)

    快手播放量低怎么回事(快手播放量低怎么办)

  • 华为开机新闻怎么关闭(华为开机新闻怎么关掉)

    华为开机新闻怎么关闭(华为开机新闻怎么关掉)

  • p20徕卡三摄是什么意思(徕卡三摄赛神仙)

    p20徕卡三摄是什么意思(徕卡三摄赛神仙)

  • 探探换手机了怎么登陆(探探换手机怎么找回以前的号)

    探探换手机了怎么登陆(探探换手机怎么找回以前的号)

  • oracle exp导出表(oracle导出excel文件)

    oracle exp导出表(oracle导出excel文件)

  • 华为p30在哪里下载软件(华为p30怎么下载)

    华为p30在哪里下载软件(华为p30怎么下载)

  • 怎样替换excel表格中的文字(怎样替换excel表格中的图片)

    怎样替换excel表格中的文字(怎样替换excel表格中的图片)

  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用

    33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用

  • 企业所得税会计科目
  • 递延所得税资产和递延所得税负债
  • 什么是增值税一般纳税人
  • 营业成本和生产成本的公式
  • 多交的增值税和附加税退回,如何记账
  • 土增税清算地下室怎么扣除
  • 汇总记账凭证会计核算形式
  • 制造费用结转生产成本金蝶怎么操作
  • 应交税费待抵扣进项税额
  • 管家婆进货单科目名称怎么录入?
  • 外购商品赠送给顾客
  • 总账中余额为负怎么写
  • 借方增加的科目记忆口诀
  • 公司将我转到另外一家公司
  • 资源税是否需要计提?
  • 农产品一般纳税人免税吗
  • 七月一号出台的什么政策
  • 企业为员工缴付养老保险
  • 小规模收到增值税专用发票咋处理
  • 增值税纳税申报表在哪里查询
  • 跨年度残保金退回做什么
  • 负数到正数的增减
  • 小型微利企业普惠性减税政策
  • 农民工签订劳务合同的条件
  • mac终端怎么运行命令
  • Win10系统如何修改开机密码
  • 出租的设备
  • 专家评审费如何报账
  • 平板电脑的windows更新有必要吗
  • php预定义常量要使用define函数进行定义
  • php5.4+mysql
  • 出差补贴怎么记账
  • phpseclib
  • 月收入10万以下免增值税
  • 购买完服务器之后要怎么做
  • php内存缓存
  • get请求有哪些
  • 暂估入库以及暂估的区别
  • 餐饮营改增什么时候开始的
  • 视同销售实物出资是否开专票吗
  • 购买礼品的会计怎么做账
  • sql server评估期已过版本升级时重启失败
  • 记账凭证附件粘贴
  • 长期股权投资的核算方法
  • 股东每年怎么分红
  • 解析sql语句
  • 纳税人提供不动产经营租赁服务增值税征收管理暂行办法
  • 税务多措并举
  • 购买理财产品如何防诈骗
  • 餐饮费发票可以抵扣进项税吗
  • 融资租赁固定资产折旧年限
  • 小规模纳税人劳务派遣差额征税税率
  • 合同履约成本的会计分录
  • 其他债权投资计提损失准备会引起资产总额增加吗
  • mysql5.7版本的服务的名字是
  • win7系统分辨率调错了黑屏
  • win8系统一直重启
  • win8系统忘记电脑开机密码怎么办
  • win7系统怎么设置微信多开
  • windows 8升级
  • 如何让xp系统崩溃
  • linux ls命令什么意思
  • win8显示wifi关怎么办
  • shell脚本实现输出字母个数大于5的单词
  • 批处理文件是脚本吗
  • python的判断语句
  • js兼容ie
  • css制作热点新闻板块
  • 安卓手机wifi界面
  • 回弹健腹轮是智商税吗
  • 简述python语言
  • Python Sqlite3以字典形式返回查询结果的实现方法
  • javascript面向对象精要pdf下载
  • 佛山市地税局办公室主任
  • 教育培训行业的发展前景
  • 已经开具的电子专票怎么重新下载
  • 云南烟草税收是多少
  • 江西国家税务局电子税务局
  • 作废的发票验旧之后怎么领取新发票
  • 建筑行业增值税税率2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设