2016-10-31 8 views
14

जब कोई उपयोगकर्ता किसी भिन्न तत्व पर क्लिक करता है तो मैं कुछ तत्वों को कुछ करने के लिए एक हैंडलर लिख रहा हूं।एचटीएमएल में `#` विशेषता क्या करती है?

सबसे पहले मैं (Angular2 यह उपयोग कर रहा है, लेकिन मुझे लगता है केवल अलग कैसे onclick घटना नियंत्रित किया जाता है है) के बाद किया था:

 <span> 
      <input type="text" id="bioName"> 
     </span> 
     <span class="icon-pencil" (click)="editField(bioName);"></span> 

... लेकिन यह काम नहीं किया। तब मुझे एक उदाहरण मिला जिसने इनपुट क्षेत्र को अलग-अलग पहचाना, और यह मेरे लिए काम करता था। यह निम्नानुसार था:

 <span> 
      <input type="text" #bioName> 
     </span> 
     <span class="icon-pencil" (click)="editField(bioName);"></span> 

दुर्भाग्यवश मुझे यह बताते हुए कुछ भी नहीं मिला। एचटीएमएल और जावास्क्रिप्ट के साथ "हैश" और "पाउंड" की तलाश में बहुत सारे परिणाम हैं जिनके पास विषय क्षेत्र में इसके साथ कुछ लेना देना नहीं है।

तो # इस मामले में क्या करता है? इवेंट हैंडलर सेट करते समय DOM तत्व का संदर्भ प्राप्त करने के लिए id का उपयोग नहीं किया जा सकता है? इसे क्या कहा जाता है, इसलिए मैं इसे Google पर कर सकता हूं और उचित दस्तावेज़ीकरण पढ़ सकता हूं?

उत्तर

10

यह कोणीय 2 विशिष्ट है, नियमित HTML इस वाक्यविन्यास को नहीं पहचानता है, यानी आपको सीएसएस/जावास्क्रिप्ट के साथ टैग तक पहुंचने के लिए id="bioName" का उपयोग करना होगा।

Here Angular2 में # का उपयोग करने के तरीके के बारे में अधिक जानकारी है।

5

हैश (#) कोणीय 2 टेम्पलेट्स में टेम्पलेट चर को परिभाषित करने के लिए वाक्यविन्यास है। इसका उपयोग टेम्पलेट तत्वों के लिए अद्वितीय पहचानकर्ताओं को असाइन करने के लिए किया जाता है जिन्हें आप बाद में घटक में टेम्पलेट तत्वों का संदर्भ प्राप्त करने के लिए उपयोग कर सकते हैं। आपके मामले में, उदाहरण के लिए, आप अपने घटक में इनपुट तत्व का संदर्भ प्राप्त करने के लिए bioName चर का उपयोग कर सकते हैं और आप जो भी चाहें वहां कर सकते हैं - फ़ाइल का नाम, फ़ाइल का आकार या यहां तक ​​कि फ़ाइल भी प्राप्त करें। यह ViewChild decorator. का उपयोग करके किया जाता है आप कुछ दिन पहले लिखे गए answer देख सकते हैं और देख सकते हैं कि टेम्पलेट चर का अधिकतर उपयोग किस प्रकार किया जाता है।

संबंधित मुद्दे