Apakah mungkin untuk mengirim tindakan di antara modul-modul namespaced?
Misalnya saya punya modul vuex "gameboard" dan "notifikasi". Masing-masing ruang nama. Saya ingin mengirim tindakan dari gameboard ke modul notifikasi.
Saya pikir saya bisa menggunakan nama modul dalam nama tindakan pengiriman seperti ini:
// store/modules/gameboard.js
const actions = {
myaction ({dispatch}) {
...
dispatch('notification/triggerSelfDismissingNotifcation', {...})
}
}
// store/modules/notification.js
const actions = {
triggerSelfDismissingNotification (context, payload) {
...
}
}
Tetapi ketika saya mencoba melakukan ini, saya mendapatkan kesalahan yang membuat saya vuex mencoba mengirim tindakan dalam modul gameboard saya:
[vuex] jenis tindakan lokal tidak dikenal: notifikasi / triggerSelfDismissingNotification, tipe global: gameboard / notification / triggerSelfDismissingNotification
Apakah ada cara pengiriman dari modul vuex ke modul atau apakah saya perlu membuat semacam jembatan pada instance root vuex?
notification/trigger
, maka jika saya ingin itu menjadi sedikit lebih generik saya lakukan${NOTIF_TYPE_NAME}/${NOTIF_TRIGGER_ACTION}
, masih perlu tebasan, atau bahkan membuat fungsi pembantu untuk ini, saya merasa bahwa ketika saya ingin Aplikasi saya lebih modular, saya membayar lebih banyak daripada yang saya dapatkan. Ini pendapat sayathis.dispatch
. Itu tidak perlu{root: true}
. Ini global.{root: true}
. Kasing yang Anda maksud mungkin adalah pengiriman ke modul anak, yang memang (dan jelas) tidak memerlukan tanda ini.Seperti mencioned @ MKatleast3
Anda bisa menggunakannya
this.dispatch
. Tidak perlu{root: true}
dalam opsi pengiriman. Ini global.sumber