【发布时间】:2021-12-16 13:00:01
【问题描述】:
我是开发初学者(vuejs 和 quasar),我尝试运行此代码,但出现错误“export 'default' (imported as 'vue') is not found in 'vue'" 在我的编辑器中。我尝试了一切仍然不起作用...请帮助 我正在尝试从任务列表中删除任务。当我点击删除按钮时,我在 Chrome 中的 vueTools 中出现错误 “Uncaught TypeError: Cannot read properties of undefined (reading 'delete') at Store.deleteTask”。
import Vue from 'vue'
const state = {
tasks : {
'ID1':{
name:'Go to shop',
completed:false,
dueDate:'2021/10/29',
dueTime:'18:02'
},
'ID2':{
name:'Get bananas',
completed:false,
dueDate:'2021/10/30',
dueTime:'18:04'
},
'ID3':{
name:'Get apples',
completed:false,
dueDate:'2021/10/31',
dueTime:'18:06'
},
}
}
const mutations = {
updateTask(state, payload) {
Object.assign(state.tasks[payload.id], payload.updates)
},
deleteTask(state, id) {
Vue.delete(state.tasks, id)
}
}
const actions = {
updateTask({commit}, payload){
commit('updateTask', payload)
},
deleteTask({ commit}, id){
commit('deleteTask', id)
}
}
const getters = {
tasks: (state) => {
return state.tasks
}
}
export default {
namespaced: true,
state,
mutations,
actions,
getters
};
【问题讨论】:
-
出于好奇,如果从 'vue/dist/vue' 导入 Vue 会发生什么?
-
您可能安装了 Vue 3,它不再导出默认值。你不需要在 Vue 3 中使用
Vue.delete(而是通过索引拼接出来)。
标签: vue.js visual-studio-code quasar