Vue+Quasar开发遇export 'default'未找到及delete属性读取错误求助
错误原因&修复方案
错误1:export 'default' (imported as 'vue') was not found in 'vue'
- 原因:你当前使用的是Vue 3环境,Vue 3已经废弃了Vue 2的默认全局
Vue导出,你代码里的import Vue from 'vue'是Vue 2的语法,在Vue 3下无法正常导入,所以Vue变量为undefined。 - 修复:直接删除这行导入语句即可,后续不需要使用全局Vue对象。
错误2:Uncaught TypeError: Cannot read properties of undefined (reading 'delete') at Store.deleteTask
- 原因:第一个错误导致Vue变量是undefined,调用
Vue.delete自然会报错,此外Vue 3也已经废弃了全局Vue.deleteAPI。 - 修复:Vue 3基于Proxy实现响应式,直接使用原生
delete操作符删除响应式对象的属性就可以触发响应式更新,把deleteTask对应的mutation修改为以下代码即可:
deleteTask(state, id) { delete state.tasks[id] }
如果需要兼容旧的工具方法写法,也可以修改为以下形式:
- 顶部导入Vue提供的删除方法:
import { del } from 'vue' - 修改mutation代码:
deleteTask(state, id) { del(state.tasks, id) }
内容的提问来源于stack exchange,提问作者Akram R
相关产品推荐
相关产品推荐

