टेम्प्लेट रेफरेंस वैरिएबल एक छोटा रत्न होता है जो कोणीय के साथ बहुत सारी अच्छी चीजें प्राप्त करने की अनुमति देता है। मैं आमतौर पर उस सुविधा को "हैशटैग सिंटैक्स" कहता हूं, क्योंकि, यह एक टेम्पलेट में एक तत्व का संदर्भ बनाने के लिए एक साधारण हैशटैग पर निर्भर करता है:
<input #phone placeholder="phone number">
उपरोक्त सिंटैक्स जो करता है वह काफी सरल है: यह इनपुट तत्व का एक संदर्भ बनाता है जिसे बाद में मेरे टेम्पलेट में उपयोग किया जा सकता है। ध्यान दें कि इस चर के लिए गुंजाइश संपूर्ण HTML टेम्पलेट है जिसमें संदर्भ को परिभाषित किया गया है।
उदाहरण के लिए, इनपुट के मूल्य को प्राप्त करने के लिए मैं उस संदर्भ का उपयोग कैसे कर सकता हूं:
<!-- phone refers to the input element -->
<button (click)="callPhone(phone.value)">Call</button>
ध्यान दें कि फोन इनपुट के लिए HTMLElement ऑब्जेक्ट उदाहरण को संदर्भित करता है । नतीजतन, फोन में किसी भी HTMLElement (आईडी, नाम, इनरएचटीएमएल, मूल्य, आदि) के सभी गुण और तरीके हैं।
उपरोक्त सरल तरीके से एनकोमॉडल या किसी अन्य प्रकार के डेटा बाइंडिंग का उपयोग करने से बचने का एक अच्छा तरीका है जिसे सत्यापन के संदर्भ में बहुत अधिक आवश्यकता नहीं है।
क्या यह भी घटकों के साथ काम करता है?
इसका जवाब है हाँ!
... इसका सबसे अच्छा हिस्सा यह है कि हम वास्तविक घटक उदाहरण के लिए एक संदर्भ प्राप्त कर रहे हैं, HelloWorldComponent, इसलिए हम उस घटक के किसी भी तरीके या गुणों का उपयोग कर सकते हैं (भले ही उन्हें निजी या संरक्षित घोषित किया गया हो, जो आश्चर्य की बात है) :
@Component({
selector: 'app-hello',
// ...
export class HelloComponent {
name = 'Angular';
}
[...]
<app-hello #helloComp></app-hello>
<!-- The following expression displays "Angular" -->
{{helloComp.name}}
#searchBox
तत्व पर होने से आपsearchBox.value
कीप हैंडलर में उपयोग कर सकते हैं ।