मान लीजिए कि मैं एक छोटा घटक बनाता हूं जो इनपुट लेता है और इसे दिखाने के लिए लेबल सेट करता है।मैं नेटस्क्रिप्ट में जेएस से एक कस्टम घटक कैसे इंजेक्ट कर सकता हूं?
एप्लिकेशन/घटकों/testComponent/testComponent.xml:
<Label id="someLabel" loaded="onLoad"/>
एप्लिकेशन/घटकों/testComponent/testComponent.js:
exports.onLoad = args => {
const obj = args.object;
const label = obj.getViewById('someLabel');
label.text = obj.someString || 'no string given';
};
अब मैं किसी में इस घटक का उपयोग कर सकते मेरे पृष्ठों के
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:testComponent="components/testComponent">
<StackLayout>
<testComponent:testComponent someString="hello {N}"/>
</StackLayout>
</Page>
ऐसा करने का आधिकारिक तरीका प्रतीत होता है और यह काम करता है। लेकिन क्या जावास्क्रिप्ट का उपयोग कर पेज में इस घटक को इंजेक्ट करने का कोई तरीका है?
इस कोड के पास मूल स्क्रिप्ट के साथ कुछ लेना देना नहीं है। यह ब्राउज़र आधारित कोड प्रतीत होता है ... – Nathanael
मेरा सुझाव है कि जावास्क्रिप्ट केवल समाधान के लिए पूछते समय आप जावास्क्रिप्ट को वास्तव में जावास्क्रिप्ट के रूप में पहचानना सीखते हैं और बहुत ही अस्पष्ट शब्द 'ब्राउज़र आधारित कोड' नहीं। आप जावास्क्रिप्ट समाधान कैसे चाहते हैं जो वास्तव में जावास्क्रिप्ट नहीं है? जबकि उपर्युक्त उत्तर ठीक दिखता है, यह शुद्ध जावास्क्रिप्ट नहीं है और पेज लोड पर बनाया गया है – Datadimension
इंजेक्शन नहीं किया गया अनुरोध यह है कि जावास्क्रिप्ट के माध्यम से विशेष रूप से मूल स्क्रिप्ट में लोड कस्टम घटकों को कैसे करें। नेटस्क्रिप्ट एक ब्राउज़र नहीं है और ऐसी चीजें जैसे $ (JQuery से) काम नहीं करेगी। इसके अलावा, नेटस्क्रिप्ट में स्क्रीन बिल्डिंग सिस्टम में पारंपरिक डोम नहीं है; जिसका अर्थ है कि ब्राउज़र के लिए डिज़ाइन किया गया पूरी तरह से मान्य जावास्क्रिप्ट कोड भी इस पर काम नहीं करेगा। क्या यह स्पष्ट करता है कि मैंने ब्राउजर आधारित कोड क्यों कहा? – Nathanael