cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimanakah vuex memanggil tindakan pada halaman?

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

membalas semua(3)saya akan balas

  • 黄舟

    黄舟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

    Anda menggunakan jenis dalam actions.js Adakah terdapat masalah dengan fail mutation-types.js? #🎜🎜#

    balas
    0
  • 伊谢尔伦

    伊谢尔伦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.

    balas
    0
  • 黄舟

    黄舟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)
    }

    balas
    0
  • Batalbalas