Rumah > Soal Jawab > teks badan
Kod halaman
methods: {
...mapActions(['addList', 'delList']),
add (value) {
this.addList({title: value})
},
del (item) {
this.delList(item)
}
}
Kod dalam tindakan
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)
}
Tetapi pelaksanaan akan melaporkan [vuex] Menjangkakan rentetan sebagai jenis, tetapi fungsi ditemui Sila beritahu saya apa yang salah Terima kasih banyak
Jika anda menukar kod di atas, ia boleh dilaksanakan
methods: {
add (value) {
this.$store.commit('ADD_LIST', {title: value})
},
del (item) {
this.$store.commit('DELETE_LIST', item)
}
}
黄舟2017-05-19 10:41:52
methods: {
add (value) {
this.$store.commit('ADD_LIST', {title: value})
},
del (item) {
this.$store.commit('DELETE_LIST', item)
}
}
Soalan, anda mengatakan kod ini boleh dilaksanakan untuk mencapai kesannya, maka mengapa tidak this.$store.commit(types.DELETE_LIST, item)
?this.$store.commit(types.DELETE_LIST, item)
?
你actions.js中都用了types,是不是mutation-types.js
mutation-types.js
? #🎜🎜#伊谢尔伦2017-05-19 10:41:52
export const addList = (commit) => (item) => {
commit(types.ADD_LIST, item)
}
Saya tidak pernah menggunakan vuex, tetapi jika ia serupa dengan Redux, ini sepatutnya menjadi cara menggunakannya.
黄舟2017-05-19 10:41:52
Saya menemui jawapan kepada soalan tersebut. Terima kasih atas peringatan di tingkat atas. Fail actions.js harus ditukar kepada yang berikut
export const addList = ({commit}, item) => {
commit('ADD_LIST', item)
}
export const delList = ({commit}, item) => {
commit('DELETE_LIST', item)
}
Atau gunakan kaedah penulisan sebelumnya, tetapi buat fail mutation-types.js baharu
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)
}