頁面代碼methods: {
...mapActions(['addList', 'delList']),
add (value) {
this.addList({title: value})
},
del (item) {
this.delList(item)
}
}actions中代碼import * as types from './mutations'export const addList = ({commit}, item) => {
commit(types.ADD_LIST, item)
}
export const delList = ({commit}, item) => {
commit(types.DELETE_LIST, item)
}但是執行會報[vuex] Expects string as the type, but found function.求高手指點一下哪里出錯了,非常感謝.如果把上面代碼改為下面的代碼就可以執行methods: {
add (value) {
this.$store.commit('ADD_LIST', {title: value})
},
del (item) {
this.$store.commit('DELETE_LIST', item)
}
}
2 回答

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
export const addList = (commit) => (item) => { commit(types.ADD_LIST, item) }
沒用過vuex,不過如果和Redux差不多的話,應該是這么用。

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
actions.js文件應該改成下面這樣
export const addList = ({commit}, item) => { commit('ADD_LIST', item) } export const delList = ({commit}, item) => { commit('DELETE_LIST', item) }
或者還是用之前的寫法,但是要新建一個mutation-types.js文件
export const ADD_LIST = 'ADD_LIST' export const DELETE_LIST = 'DELETE_LIST'
actions.js
import * as types from './mutation-types'export const addList = ({commit}, item) => { commit(types.ADD_LIST, item) } export const delList = ({commit}, item) => { commit(types.DELETE_LIST, item) }
添加回答
舉報
0/150
提交
取消