मेटीर 0.9.4 के रूप में, टेम्पलेट को परिभाषित करना। MyTemplate। MyHelperFunction() अब मान्य नहीं है।टेम्पलेट के संदर्भ में किसी अन्य सहायक से एक सहायक को कॉल करना (उल्का 0.9.4)
हमने Template.someTemplate.myHelper = ... Template.someTemplate.helpers (...) के पक्ष में वाक्यविन्यास को हटा दिया। पुराने वाक्यविन्यास का उपयोग करना अभी भी काम करता है, लेकिन यह कंसोल को एक बहिष्करण चेतावनी प्रिंट करता है।
यह मेरे लिए ठीक लग रहा था, क्योंकि यह (कम से कम) कुछ गलत टाइपिंग और डुप्लिकेट टेक्स्ट को बचाएगा। हालांकि, मुझे जल्द ही पता चला कि जिस तरह से मैं मेटियर एप्स का निर्माण कर रहा था, उस क्षमता पर झुका हुआ था कि इस नए संस्करण को हटा दिया गया है। मेरे ऐप्स में, मैं पुराने वाक्यविन्यास के साथ मददगार/फ़ंक्शंस को परिभाषित कर रहा हूं, फिर उन तरीकों को अन्य सहायकों से बुला रहा हूं। मैंने पाया कि यह मुझे मेरे कोड को साफ और सुसंगत रखने में मदद करता है।
उदाहरण के लिए, मैं इस तरह एक नियंत्रण हो सकता है:
//Common Method
Template.myTemplate.doCommonThing = function()
{
/* Commonly used method is defined here */
}
//Other Methods
Template.myTemplate.otherThing1 = function()
{
/* Do proprietary thing here */
Template.myTemplate.doCommonThing();
}
Template.myTemplate.otherThing2 = function()
{
/* Do proprietary thing here */
Template.myTemplate.doCommonThing();
}
लेकिन इस नई विधि उल्का पता चलता है (जो मुझे लगता है कि मैं गलत सब साथ था बनाता है) के साथ उपलब्ध हो प्रतीत नहीं होता है। मेरा सवाल है, टेम्पलेट के हेल्पर्स के बीच सामान्य, टेम्पलेट-विशिष्ट तर्क साझा करने का पसंदीदा तरीका क्या है?
मुझे एहसास है कि यह अभी भी एक वैध सवाल है, क्योंकि टेस्ट रिग टेम्पलेट हेल्पर्स में कॉल करने में सक्षम होंगे। अन्यथा आप अपने आवेदन को अनावश्यक रूप से फिर से लिखना समाप्त कर देते हैं ... – MrMowgli
आपको यह उत्तर उपयोगी हो सकता है: https://stackoverflow.com/questions/27755891/meteor-what-is-spacebars-kw-hash-object#answer-27756461 –