हाल ही में, मुझे अपने ऐप में एक ही कार्यक्षमता की आवश्यकता है इसलिए मैंने अपना खुद का पैकेज बनाने का फैसला किया है जो उस नौकरी को बॉक्स से बाहर कर देगा। हालांकि यह अभी भी प्रगति पर काम कर रहा है, आप इसे जाने दे सकते हैं।
असल में, पूरे विधि इस प्रकार है:
// Defines new method /extend
Template.prototype.copyAs = function (newTemplateName) {
var self = this;
// Creating new mirror template
// Copying old template render method to keep its template
var newTemplate = Template.__define__(newTemplateName, self.__render);
newTemplate.__initView = self.__initView;
// Copying helpers
for (var h in self) {
if (self.hasOwnProperty(h) && (h.slice(0, 2) !== "__")) {
newTemplate[h] = self[h];
}
}
// Copying events
newTemplate.__eventMaps = self.__eventMaps;
// Assignment
Template[newTemplateName] = newTemplate;
};
अपने नए टेम्पलेट में (new_template.js) जिसमें आप अपने सार एक का विस्तार करना चाहते हैं, तो निम्न लिखें:
// this copies your abstract template to your new one
Template.<your_abstract_template_name>.copyAs('<your_new_template_name>');
अब , आप या तो अपने हेल्पर्स या घटनाओं को ओवरराइट कर सकते हैं (मेरे मामले में यह photos
सहायक) निम्नलिखित है:
Template.<your_new_template_name>.photos = function() {
return [];
};
आपकी इच्छा ओवरराइट सहायक सहायक विधियों और उन सार तत्वों को संदर्भित करती है जिन्हें अधिलेखित नहीं किया जाता है।
ध्यान दें कि नए टेम्पलेट के लिए HTML फ़ाइल आवश्यक नहीं है क्योंकि हम हर समय सार को संदर्भित करते हैं।
स्रोत कोड गीथब here पर उपलब्ध है!
स्रोत
2014-08-09 20:27:48
मैंने [एक पैकेज] (https://atmosphere.meteor.com/package/view) बनाया जो उल्का के लिए 'व्यू' कहा जाता है। मैं व्यू क्लास जैसे रीढ़ की हड्डी के साथ उल्का विचार लपेटने के लिए इसका उपयोग करता हूं। शायद आपको वहां से शुरू करने के लिए कुछ विचार मिलेंगे। – Andreas