
vue项目实际开发中的bug
文章平均质量分 58
实际开发中的bug,控制台中的报错,经典或者难搞的bug
我爱加班、、
这个作者很懒,什么都没留下…
展开
-
el-dialog弹窗关闭时调了两次刷新数据的接口
弹窗是父组件通过dialog调用子组件的方式,然后在弹窗里面修改完内容,点击关闭按钮时,需要刷新父组件列表数据。但是调了两次刷新列表的接口。建议关闭的时候不要调取刷新数据的接口,因为如果在弹窗里面啥操作都不做,关闭时还刷新数据就不太友好。建议在保存或者提交的时候刷新数据。通过函数防抖就能防止关闭弹窗时调取两次刷新数据的接口。子组件通知父组件刷新数据。原创 2025-04-28 18:53:07 · 352 阅读 · 0 评论 -
父组件弹窗调用子组件时,无法通过ref、provide、inject等方法调用子组件的方法
方法2简单有效。原创 2025-04-23 16:56:48 · 627 阅读 · 0 评论 -
父组件弹窗关闭时更新子组件的某个属性改为false
父组件弹窗关闭时更新子组件的某个属性改为false(子组件里面表单的展开/收起按钮),以及父组件的dialog的关闭按钮2、定义showPerformanceList 3、父组件关闭弹窗时修改showPerformanceList 的状态为false 子组件:4、子组件defineProps接收showPerformance5、子组件挂载完成时更新showPerformanceList.value的值为父组件传过来的值6、子组件监听OBJECT_ID变化时,原创 2025-04-23 09:47:11 · 202 阅读 · 0 评论 -
vue3 el-dialog新增弹窗,不希望一进去就校验名称没有填写
/ 清空表单校验}, 0)原创 2025-04-17 17:33:12 · 389 阅读 · 0 评论 -
vue3开发问题解决:[Vue warn]: Invalid prop: type check failed for prop “menuWidth“. Expected N
如果menuWidth本身可以接受带单位的字符串(如"124px"),你可以直接修改propsprops: {然后在组件内部根据需要处理这个字符串值。这个警告的根本原因是传递给menuWidth的值类型不符合组件的期望。解决方法包括:确保传递的值是数字类型。在父组件中解析字符串为数字。在子组件中处理字符串值并解析为数字。调整props的定义以接受字符串类型。根据你的具体需求选择合适的方法。这里我用了方法1去解决。原创 2025-03-13 09:54:30 · 593 阅读 · 0 评论 -
前端页面报警告:runtime-core.esm-bundler.js:40 [Vue warn]: injection “Symbol(pinia)“ not found.
完整示例'app',sidebar: {...},...}),actions: {...})原创 2025-03-07 16:33:40 · 639 阅读 · 0 评论 -
前端页面报错: [Vue warn] Set operation on key “eventCallBks“ failed: target is readonly.
这表明你在尝试修改一个被标记为只读(readonly)的属性。原创 2025-03-07 16:08:05 · 578 阅读 · 0 评论 -
前端页面报 [Vue warn]: Invalid prop: custom validator check failed for prop “pagerCount”.
如果在某些情况下(例如组件重新渲染时)值被错误地覆盖或解析为其他类型,仍可能触发警告。所以全局搜索 pager-count,盲猜一定是有赋值不在5-21之间的奇数的范围的。即使 pager-count="7"写死为7,还是报那错误;Element Plus 的。:必须是大于等于 5 的奇数。原创 2025-03-07 15:35:46 · 801 阅读 · 0 评论 -
vue3问题警告解决:传递给组件的某些非 props 属性(例如 class、id 等)无法被自动继承,因为该组件渲染的是片段(fragment)或文本根节点
一些开发工具(如 Vue Devtools)可能会使用组件的名称来提供更好的调试支持。:Vue 3 允许组件返回多个根节点(即片段),但片段无法自动继承父组件传递的非。等)无法被自动继承,因为该组件渲染的是片段(fragment)或文本根节点。:如果你的组件需要递归调用自身,Vue 需要知道组件的名称。如果可能,确保组件的模板只有一个根节点。中不是必需的,但它可以帮助你更好地组织代码,尤其是在大型项目中。在 Vue 3 中,当组件的模板有多个根节点(例如使用了。如果可能,确保组件的模板只有一个根节点。原创 2025-03-06 09:15:16 · 2149 阅读 · 2 评论 -
vue3表格数据分2个表格序号连续展示
this.tableData.slice(0, Math.ceil(this.tableData.length / 2)),也就是slice(0, 1),也就是切割到唯一一条数据。包含 6 条数据,第一个表格显示前 3 条,第二个表格显示后 3 条。,我们希望在第一个表格中展示前半部分的数据,第二个表格中展示后半部分的数据。当数据为单数时,第一条数据会切割到了右边表格,左边表格无数据。当数据为单数时,第一条数据会切割到了右边表格,左边表格无数据。所以有且仅有一条数据时,就跑到了右边表格,左边表格没数据。原创 2025-01-24 17:14:27 · 1564 阅读 · 0 评论 -
vue3实际开发bug解决
问题出在 componentName 的解构和赋值操作上。你尝试将一个字符串赋值给 ref 的 .value 属性,这导致了错误。ref 是 Vue 3 中用于响应式引用的工具,它返回一个对象,该对象的 .value 属性用于存储实际的值。不要对componentName解构赋值,直接赋值。原创 2025-01-21 15:33:05 · 344 阅读 · 0 评论 -
vue3实际开发中的bug:MyCharts.vue:41 [ECharts] Can‘t get DOM width or height. Please check dom.clientWidth
如果问题依然存在,可能需要进一步检查你的代码和页面结构,或者查看 ECharts 的文档和社区寻求帮助。:如果你的页面布局可能会变化,导致 DOM 元素尺寸变化,可以在 ECharts 初始化后,监听窗口的。:确保你的 CSS 没有错误,并且已经为包含 ECharts 的 DOM 元素设置了正确的宽度和高度。:如果你的页面或者 ECharts 库是异步加载的,确保在加载完成后再初始化 ECharts。:ECharts 需要在初始化图表之前,DOM 元素就已经存在于页面上,并且具有确定的尺寸。原创 2024-06-03 17:09:30 · 1607 阅读 · 0 评论 -
实际开发中的bug:main.js:18 [Vue warn]: A plugin must either be a function or an object with an “install“ f
场景:引入echarts图表的时候,页面渲染不出来。原创 2024-06-03 16:21:19 · 725 阅读 · 0 评论 -
控制台报错:dynmicComp.vue:12 [Vue warn]: Vue received a Component that was made a reactive object. This c
这个Vue警告信息指出,Vue接收到了一个被标记为响应式对象的组件。在Vue 3中,响应式系统是通过Proxy来实现的,它会拦截对象属性的访问和修改。当你将一个组件实例或类似对象转换为响应式对象时,Vue需要额外的工作来追踪这些属性的变化,这可能导致不必要的性能开销。这意味着只有引用的值是响应式的,而值的内部结构不会被Vue追踪为响应式。这适用于当你需要响应式引用一个对象,但不需要Vue追踪对象内部属性的变化时。是一个响应式引用,但只有它指向的对象是响应式的,对象内部的属性变化不会被追踪。原创 2024-05-29 14:22:37 · 777 阅读 · 1 评论 -
实际开发中的bug:用户登录后菜单正常跳转,但刷新后出现白屏问题。
完成动态添加路由后,解决一些白屏的问题。原创 2024-04-14 19:07:44 · 294 阅读 · 1 评论 -
实际开发中的bug: Uncaught (in promise) TypeError: menu.forEach is not a function
错误信息 "Uncaught (in promise) TypeError: menu.forEach is not a function" 表示在 JavaScript 的异步代码块(可能是在Promise中或者使用语法)中,尝试调用menu对象的forEach方法时发生了类型错误。这通常意味着menu并不是一个数组,或者它是undefined,因为只有数组才具有forEach方法。原创 2024-04-14 17:09:02 · 443 阅读 · 1 评论 -
实际开发中的有趣bug:“undefined“ is not valid JSON SyntaxError: “undefined“ is not valid JSON。
指出在尝试解析或序列化 JSON 数据时遇到了问题。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它要求数据必须是有效的 JSON 格式。在 JavaScript 中,undefined是一个特殊的值,表示变量没有被赋值,它不是一个有效的 JSON 值。原创 2024-04-14 15:53:38 · 7315 阅读 · 4 评论 -
控制台报错:无限递归调用——main.js:27 RangeError: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded` 是一个在 JavaScript 中常见的错误,它表明你的程序中存在无限递归调用或者嵌套的调用层次太深,导致调用栈溢出。调用栈是 JavaScript 用来跟踪当前执行函数的内部堆栈,当这个栈达到其预设的最大容量时,就会抛出这个错误。在你提供的错误信息 `main.js:27` 中,`main.js` 是出错的文件名,`27` 是出错代码所在的行号。原创 2024-04-13 17:10:16 · 1141 阅读 · 1 评论 -
控制台报错:vue.runtime.esm.js:4427 [Vue warn]: Invalid prop: type check failed for prop “model“.
此处发现 handleEdit函数把scope.$index也传进来了,虽然没传错,但是接受的时候也没接收没用到,而且传的顺序也有问题,所以干脆没用到就不要传。此处把scope.$index删了就可以了。一看就是非法传值,查看写的代码是否有哪些不妥地方,或者打印传入该函数得值,一步步排查。form表单点击编辑用户属性时报错。原创 2024-04-12 10:15:00 · 361 阅读 · 0 评论 -
控制台报错:Uncaught SyntaxError: Unexpected non-whitespace character after JSON at position 2
调用删除接口时传个对象格式:{ id: row.id } 即可解决改bug。此处后端需要的一个对象的格式,所以传用户id时也要是对象格式。原来代码写的是:(直接传了row.id,用户id)场景:当点击删除用户时,出现该报错。原创 2024-04-12 09:15:00 · 1728 阅读 · 0 评论 -
控制台报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location:
方法二:在路由跳转的时候判断跳转路由和当前路由是否相同,当页面的路由和跳转的路由不一致时才跳转,同时也要判断重定向的情况下的场景。场景:当重复点击同一个路由菜单的时候,如果当前的路由路径与要跳转的路径相同时,就会报错如下。方法一:在router.js文件添加跳转判断。原创 2024-03-27 16:52:36 · 659 阅读 · 0 评论