Vue.js

2016-09-07 18 views
8

में वैश्विक कार्यों को शामिल करें मेरे Vue.js एप्लिकेशन में मैं कुछ वैश्विक कार्य करना चाहता हूं। उदाहरण के लिए callApi() फ़ंक्शन जिसे मैं हर बार कॉल कर सकता हूं मुझे अपने डेटा तक पहुंच की आवश्यकता है।Vue.js

इन कार्यों को शामिल करने का सबसे अच्छा तरीका क्या है ताकि मैं इसे अपने सभी घटकों में एक्सेस कर सकूं?

  • क्या मुझे फ़ाइल function.js बनाना चाहिए और इसे मेरे main.js में शामिल करना चाहिए?
  • क्या मुझे एक मिक्सिन बनाना चाहिए और इसे मेरे main.js में शामिल करना चाहिए?
  • क्या कोई बेहतर विकल्प है?
+0

शायद वूएक्स? http://vuex.vuejs.org/en/data-flow.html –

+0

अगर हम सही हैं तो हम मुख्य रूप से डेटा स्टोर करने के लिए Vuex? मुझे नहीं लगता कि यह वैश्विक कार्यों को बनाने के लिए है? – Jordy

+0

मेरा विचार था कि आपको "अपने डेटा तक पहुंच की आवश्यकता है"; Vuex वह प्रदान करेगा। Vuex स्वयं कॉल लाने वाले कॉल कर सकता है। –

उत्तर

10

आपकी सर्वश्रेष्ठ शर्त एक प्लगइन होगी, जो आपको वैश्विक vue सिस्टम में विशेषताओं को जोड़ने देता है।

[vuejs Docs]

MyPlugin.install = function (Vue, options) { 

// 1. add global method or property 
Vue.myGlobalMethod = ... 

// 2. add a global asset 
Vue.directive('my-directive', {}) 

// 3. add an instance method 
Vue.prototype.$myMethod = ... 

} 

से तो फिर तुम सिर्फ अपने समारोह कॉल करने से पहले

Vue.use(MyPlugin) 
अपने कोड में

जोड़ना होगा।

Vue.myGlobalMethod(parameters); 

या अपने मामले में

Vue.callApi(parameters); 
+0

धन्यवाद। मिक्सिन्स और प्लगइन्स (वैश्विक कार्यों को जोड़ने के लिए) के बीच क्या अंतर है? – Jordy

+0

@ जोर्डी अंतर यह है कि प्रत्येक मिश्रण के लिए आपके वीएम परिभाषा में एक मिश्रण को आपके मिक्सिन हैश में शामिल किया जाना चाहिए जिसके लिए कार्यक्षमता की आवश्यकता होती है। एक प्लगइन इसे आपके सभी घटकों में विश्व स्तर पर उपलब्ध कराता है, बिना समावेशन की आवश्यकता के (जब यह मुख्य व्यू इंस्टेंस को बढ़ाता है, तो आपके द्वारा बनाए गए प्रत्येक घटक में पहले से ही यह कार्यक्षमता शामिल है) –

+0

@ जोर्डी ट्रेमेन्डस का यह अधिकार है, मिक्सिन्स सीमित कार्यक्षमता है जो अलग-अलग घटकों में जोड़ा जाता है मैं आमतौर पर तब तक उपयोग करता हूं जब तक कि मेरे घटकों के बड़े हिस्से को उस फ़ंक्शन की आवश्यकता न हो। –