Variabel referensi template adalah permata kecil yang memungkinkan untuk menyelesaikan banyak hal bagus dengan Angular. Saya biasanya menyebut fitur itu "sintaks hashtag" karena, yah, itu bergantung pada hashtag sederhana untuk membuat referensi ke elemen dalam template:
<input #phone placeholder="phone number">
Apa yang dilakukan sintaks di atas cukup sederhana: Ini menciptakan referensi ke elemen input yang dapat digunakan nanti di template saya. Perhatikan bahwa ruang lingkup untuk variabel ini adalah seluruh templat HTML di mana referensi didefinisikan.
Inilah cara saya dapat menggunakan referensi itu untuk mendapatkan nilai input, misalnya:
<!-- phone refers to the input element -->
<button (click)="callPhone(phone.value)">Call</button>
Perhatikan bahwa ponsel merujuk ke instance objek HTMLElement untuk input . Akibatnya, ponsel memiliki semua properti dan metode HTMLElement apa pun (id, nama, innerHTML, nilai, dll.)
Di atas adalah cara yang bagus untuk menghindari penggunaan ngModel atau jenis data lainnya yang mengikat dalam bentuk sederhana yang tidak memerlukan banyak dalam hal validasi.
Apakah ini juga berfungsi dengan komponen?
Jawabannya iya!
... bagian terbaiknya adalah kami mendapatkan referensi ke instance komponen aktual, HelloWorldComponent, sehingga kami dapat mengakses metode atau properti apa pun dari komponen itu (bahkan jika itu dinyatakan sebagai pribadi atau dilindungi, yang mengejutkan) :
@Component({
selector: 'app-hello',
// ...
export class HelloComponent {
name = 'Angular';
}
[...]
<app-hello #helloComp></app-hello>
<!-- The following expression displays "Angular" -->
{{helloComp.name}}
#searchBox
pada elemen adalah apa yang memungkinkan Anda untuk menggunakansearchBox.value
penangan keyup.