当前位置: 首页 > news >正文

记录一个困扰两天的bug,vue3代码用vite打包运行出错的问题

我这边项目比较复杂,需要调用摄像头,并且录制视频,最后还需要上传视频。由于开发环境是正常的,生产环境是坏的,所以无法定位代码哪里错误,只能用排除法,不断修改,打包,修改,打包。效率低的很。导致光这个打包问题,就浪费了两天时间,从昨天下午到今天下午。半夜还在加班到11点半,就修复这一个问题。不得不说前端是真的不成熟,vue3更新迭代估计还有很多你想象不到的bug。后续我肯定不会再学vue4了。

这是dom结构

<div id="defaultId1" :style="{ width: width + 'px', height: height + 'px' }" class="   u69ed5">{{gameStatus}}<canvas id="heatMap" class="   uqdp8an" ref="canvasLine" :width="width" :height="height"></canvas><video id="webcam" class="   u2wO8T9" :width="width" :height="height" autoplay ref="myVideo"></video><canvas id="overlay" class="   u7K2LfL" width="80" height="50" ref="canvasEye"></canvas><!-- <div id="g8fe8e" class="   ub4573" ><div id="gb53dd" @click="startCamera()" class="   u8a30b" >打开摄像头</div><div id="gb1bef" @click="stopCamera()" >关闭摄像头</div></div> --></div>

这个是组件传参

const props = defineProps({// heightheight: {type: Number,default: 300},// widthwidth: {type: Number,default: 400},gameStatus: {type: String,default: 'noStart',}
})
let {height,width,gameStatus
} = toRefs(props) 

首先的第一个问题是proxy.$refs.组件名称,这种写法突然不支持了,其他页面支持。后面改为

<div ref='组件名'>
const 组件名 = ref(null)

这种形式的写法就可以直接获取组件了。完全看不出他们的关系,但就是这么巧妙,只要名称一样他们就是赋值的关系。

好不容易过了这第一关。到了第二关又继续报错。

<mycomponent  :gameStatus="gameStatus" ref="md">

后来才发现上面的案例中gameStatus的一个父组件与子组件的通信,我只要改了gameStatus就报错,什么$refs undfined特别的无语。

可能是这个组件过于复杂,父组件参数一旦修改子组件就挂了。
目前我都没找到原因,只能换一种方式处理。这种游戏状态组件里直接用局部变量,myStatus来做判断,然后父组件直接修改子组件的myStatus。

md.value.myStatus = true

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 哈希表 -四数相加II
  • 真的只有“天赋异禀”的人才能学好人工智能吗?
  • JWT入门
  • <数据集>路面坑洼识别数据集<目标检测>
  • UMDF例子 - Windows-driver-samples\general\echo\umdf2
  • 力扣(2024.08.12)
  • 提高清晰度的全彩LED显示屏的关键要素
  • 豆神集团阎鹏:重新认识AI教育中“人”的价值
  • JavaWeb——Servlet
  • 鸿蒙(API 12 Beta3版)【音视频解封装】 文件解析封装
  • Python图像背景去除
  • NoSQL 之Redis集群模式
  • 依赖倒置原则(DIP)详解:面向对象设计的核心思想
  • 计算机图形学 | Light Field/Lumigraph
  • ESP32人脸识别开发 ---partitions.csv配置的一些说明(五)
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • EOS是什么
  • ERLANG 网工修炼笔记 ---- UDP
  • GitUp, 你不可错过的秀外慧中的git工具
  • Hibernate【inverse和cascade属性】知识要点
  • JS 面试题总结
  • Objective-C 中关联引用的概念
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • 从伪并行的 Python 多线程说起
  • 观察者模式实现非直接耦合
  • 小李飞刀:SQL题目刷起来!
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 《码出高效》学习笔记与书中错误记录
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​卜东波研究员:高观点下的少儿计算思维
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (四)图像的%2线性拉伸
  • (算法二)滑动窗口
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Oracle存储过程编写经验和优化措施
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET下ASPX编程的几个小问题
  • .NET正则基础之——正则委托
  • /tmp目录下出现system-private文件夹解决方法
  • @31省区市高考时间表来了,祝考试成功
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • @Not - Empty-Null-Blank
  • [22]. 括号生成
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [AI Google] 使用 Gemini 取得更多成就:试用 1.5 Pro 和更多智能功能