में एक वैश्विक डेटा संरचना मैं Vue.js. के साथ एक एकल पृष्ठ ऐप बना रहा हूं। यह अपेक्षाकृत सरल ऐप है, एक विस्तारित, राय वाली स्प्रेडशीट की तरह। मैं ऐप के विभिन्न दृश्यों को संभालने के लिए vue-router
का उपयोग कर रहा हूं, कुछ नए डेटा दर्ज करने के लिए उपयोग किए जाते हैं, कुछ डेटा पर गणना करने के लिए उपयोग किए जाते हैं लेकिन सभी डेटा इंटरटवाइंड किया जाता है (दृश्य # 1 में दर्ज डेटा का उपयोग डेटा में दर्ज करने के लिए किया जाता है # 2 और फिर दोनों को # 3 में देखने की गणना करने के लिए उपयोग किया जाता है)।Vue.js
इसका मतलब है कि मुझे वैश्विक डेटा संरचना की आवश्यकता है। मेरे शोध से मैंने पाया कि मेरे पास इसे संभालने के लिए कई विकल्प हैं:
- "उचित" तरीका: घटकों में ईवेंट उत्सर्जित करना और माता-पिता में उन्हें संभालना; उस के लिए एक छोटे से overcomplicated लगता है कि मैं क्या
$parent.$data
- मेरे वर्तमान समाधान के माध्यम से घटक टेम्पलेट्स में सीधे माता पिता दायरे तक पहुँचने
- हासिल करना चाहते हैं, बच्चे के लिए माता-पिता डेटा संदर्भ बताए डेटा आपत्ति
तो जैसा:
const REPORTS = {
template: templates.reports,
data: function(){
return this.$parent.$data
}
};
हालांकि, मेरी छठी भावना मुझे बता रही है कि यह एक अच्छा अभ्यास नहीं है।
यदि मैं सही हूं, इसे प्राप्त करने के बेहतर तरीके क्या हैं: एक, वैश्विक डेटा संरचना, सभी घटकों से सुलभ?
धन्यवाद, यह वही है जो मैं ढूंढ रहा था। जिज्ञासा से, बच्चों के लिए मूल डेटा संदर्भ कितना बुरा गुजर रहा है? – angr
@angr बिल्कुल बुरा नहीं है, अगर संचार माता-पिता के लिए सीमित है, तो आप हमेशा [बाल] के लिए अभिभावक बाल संचार के लिए जा सकते हैं (http://stackoverflow.com/a/40915910/1610034), लेकिन यदि आपको आवश्यकता है एकाधिक घटक के बीच संवाद करें जो उपयोग vuex के बाद गन्दा हो सकता है। – Saurabh