javascript - Bagaimanakah vuex memanggil tindakan pada halaman?
我想大声告诉你
我想大声告诉你 2017-05-19 10:39:52
0
3
828

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)
    }
}
我想大声告诉你
我想大声告诉你

membalas semua(3)
黄舟
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

Anda menggunakan jenis dalam actions.js Adakah terdapat masalah dengan fail mutation-types.js? #🎜🎜#
伊谢尔伦
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.

黄舟

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)
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan