how to create a html element using javascript constructor? -
मैं जावास्क्रिप्ट कन्स्ट्रक्टर का मूल विचार समझता हूँ जैसे
फ़ंक्शन व्यक्ति (नाम) {यह .name = name} person.prototype.sayhi = function () {this return.name + 'नमस्ते !!! '} Var बॉब = नया व्यक्ति (' बॉब ') बॉब.नाम // बॉब बॉब स्याही // बॉब कहते हैं हाय !!! लेकिन कहता है कि क्या मैं असली वेबपैम में एक एल्बम बनाना चाहता हूं, सर्वर JSON डेटा की एक सरणी भेजता है
जैसा: [{'id' : 1, 'album_name': 'test', 'user': 'user_id'}] , प्रत्येक सरणी आइटम एक एल्बम होना चाहिए, अब मैं इस एल्बम को Div तत्व इस सरणी वस्तु का उपयोग करके, मैं यह कैसे कर सकता / सकती हूं? इसका कारण यह है कि मैं यह चाहता हूं कि अगर मैं एक एल्बम को वास्तविक डिवा तत्व के रूप में बना सकता हूं, तो मैं यह कर सकता हूँ < / P>
album.prototype.open = function () {// कुछ कार्रवाई} एल्बम = नया एल्बम (jdata) album.click (function () {this.open ()}) क्या यह संभव है, इस कन्स्ट्रक्टर को कैसे परिभाषित किया जाए, मुझे लगता है कि इसमें कन्स्ट्रक्टर रिटर्न मान के साथ कुछ हो सकता है जो वास्तव में मुझे भ्रमित करता है!
मुझे लगता है कि आपका दृष्टिकोण गलत है आपको किसी भी क्लाइंट साइड टेम्पलेटिंग इंजन (उदाहरण के लिए Handlebars.JS) का उपयोग करते हुए जेसनऑन ऑब्जेक्ट प्रस्तुत करना चाहिए।
फिर निर्माता और amp; प्रोटोटाइप विधियों जैसे
फ़ंक्शन एल्बम (कंटेनर) {this.container = container} album.prototype.open = function () {container.show (); } Album.prototype.renderHTML = समारोह (jdata) {// यह handlebar.js कोड टेम्पलेट = $ ('# एल्बमटम्प्लेट') है। पाठ (); compiledTemplate = Handlebars.compile (टेम्पलेट); renderedTemplate = compiledTemplate (jdata); container.html (renderedTemplate); } एक बार यह किया जाता है, तो आपके पास एल्बम कक्षा तैयार है & amp; इसे इस तरह से प्रयोग शुरू कर सकते हैं
var कंटेनर = document.getElementById ('myalbum001'), एल्बम = नया एल्बम (कंटेनर); कंटेनर.ऑन ('क्लिक', फ़ंक्शन (ई) {album.render (jdata); // आप इस लाइन एल्बम से पहले AJAX कॉल करके jdata प्राप्त कर सकते हैं। Open ()} मैं आपको Handlebar.js पर तुरंत एक नज़र लेने की सलाह दूंगा
Comments
Post a Comment