2017-03-09 16 views
5

Vue.js पहली बात यह है के साथ प्रयोग में विशेषता मैंने देखा कि कैसे एक घटक है कि मैं single file component के रूप में परिभाषित और कस्टम तत्व के रूप में शामिल हैं के प्रत्येक उदाहरण data-v-58fd7087="" की तरह एक यादृच्छिक हैश विशेषता हो जाता है। विशेष रूप से :यादृच्छिक "डेटा-वी *" Vue.js घटकों

    किसी दिए गए घटक के प्रत्येक उदाहरण के
  • हर डोम तत्व एक ही हैश
  • हैश रूटर की स्वतंत्र रूप से उत्पन्न होता है हो जाता है
  • हैश कॉल
  • हैश स्थिर है के बीच स्थिर है घटक
  • हैश को डिस्क
  • पर संग्रहीत/जेनरेट नहीं किया गया है, इस प्रकार हैश गतिशील रूप से
  • उत्पन्न हुआ है

इसे Karma या Webpack द्वारा उत्पन्न किया जा सकता है जो मेरे वू सेटअप का हिस्सा हैं? यदि नहीं, तो ये मेरे लिए कुछ आश्चर्यजनक अवलोकन हैं। यह दो प्रश्नों की ओर जाता है:

  • यह हैश (विशेषता) उत्पन्न कब और कैसे है?
  • हैश (विशेषता) उत्पन्न क्यों है?

उत्तर

7

वू लोडर के साथ scoped CSS का उपयोग करते समय कुछ ऐसा ही होता है।

मैं स्कॉप्ड सीएसएस का उपयोग करता हूं और मेरे पास data-v-4646bc3c जैसे गुण हैं, इसलिए मुझे लगता है कि यह है।

यदि आप यह सुविधा नहीं चाहते हैं, तो अपने एकल फ़ाइल घटकों से scoped विशेषता को निकालने का प्रयास करें।

<style scoped> 
/* local styles */ 
</style> 
+0

आप सही हैं! तो वास्तव में 'डेटा-वी- *' गुण Vue सीएसएस लोडर से आते हैं, अगर और केवल 'scoped' सीएसएस का उपयोग करते हैं। उन्हें सीएसएस लागू करने के लिए चयनकर्ताओं के रूप में उपयोग किया जा रहा है। अच्छा धन्यवाद! –

+0

अभी भी स्कॉप्ड सीएसएस का उपयोग करते हुए इस डिफ़ॉल्ट व्यवहार को बदलने का कोई तरीका है? क्योंकि यह लोड करने और पार्स करने के लिए बहुत बड़ी सीएसएस फ़ाइलों के साथ समाप्त होता है ...! – ekqnp

+1

@ekqnp: नहीं - यह स्कॉप्स कैसे काम करता है, उन्हें चयनकर्ताओं के रूप में हैश की आवश्यकता होती है। –

0

आप vueify उपयोग कर रहे हैं और आप सोच रहे हैं क्यों तुम कुछ भी बदल रहा है, सुनिश्चित करें कि आप 'production' करने के लिए process.env.NODE_ENV सेट के साथ vueify से चल रहे हैं बिना अपने निर्माण में परिवर्तन हो रहे हैं। अन्यथा यह हॉट-रीलोड कोड उत्पन्न करता है जिसमें प्रत्येक निर्माण पर data-v-* हैश है।