2017-03-23 16 views
17

क्या नामित मॉड्यूल के बीच एक क्रिया प्रेषण संभव है?क्या दो नामित vuex मॉड्यूल के बीच कार्यों को प्रेषित करने का कोई तरीका है?

उदा। मेरे पास vuex मॉड्यूल "गेमबोर्ड" और "अधिसूचना" है। प्रत्येक नामित हैं। मैं गेमबोर्ड से अधिसूचना मॉड्यूल में एक क्रिया भेजना चाहता हूं।

मैं मैं इस तरह प्रेषण कार्रवाई के नाम पर मॉड्यूल का नाम इस्तेमाल कर सकते हैं सोचा:

// store/modules/gameboard.js 
const actions = { 
    myaction ({dispatch}) { 
     ... 
     dispatch('notification/triggerSelfDismissingNotifcation', {...}) 
    } 
} 

// store/modules/notification.js 
const actions = { 
    triggerSelfDismissingNotification (context, payload) { 
     ... 
    } 
} 

लेकिन जब मैं यह करने के लिए कोशिश मैं त्रुटियों कि मुझे बात vuex भीतर एक कार्रवाई प्रेषण करने के लिए कोशिश कर रहा है बनाने के मिल मेरी gameboard मॉड्यूल:

[vuex] अज्ञात स्थानीय कार्रवाई के प्रकार: अधिसूचना/triggerSelfDismissingNotification, वैश्विक प्रकार: gameboard/अधिसूचना/triggerSelfDismissingNotification

क्या विएक्स मॉड्यूल से मॉड्यूल में प्रेषण का कोई तरीका है या क्या मुझे रूट vuex उदाहरण में किसी प्रकार का पुल बनाने की आवश्यकता है?

// from the gameboard.js vuex module 
dispatch('notification/triggerSelfDismissingNotifcation', {...}, {root:true}) 

अब जब प्रेषण जड़ तक पहुँच जाता है यह अधिसूचना मॉड्यूल के लिए सही नाम स्थान पथ (रूट उदाहरण के सापेक्ष होगा:

उत्तर

38

आप सिर्फ इतना है कि आप रूट संदर्भ से भेजने रहे हैं निर्दिष्ट करने की आवश्यकता)।

यह माना जा रहा है कि आप अपने vuex स्टोर मॉड्यूल पर namespaced: true सेट कर रहे हैं।

+0

नोइस :) मदद के लिए धन्यवाद! –

+6

समाधान के लिए मेरी खोज के लिए यह इंटरनेट पर एकमात्र हिट है। जवाब के लिए धन्यवाद। –

+1

@ पीटररहेहेलेन मेरे लिए भी यही है। मैं आधिकारिक दस्तावेज़ों पर एक दृश्य लेता हूं और यह विकल्प दस्तावेज नहीं है। – Zetch

संबंधित मुद्दे