Các biến tham chiếu mẫu là một viên ngọc nhỏ cho phép có được nhiều thứ hay ho được thực hiện với Angular. Tôi thường gọi tính năng đó là cú pháp hashtag cú pháp bởi vì, tốt, nó dựa vào một hashtag đơn giản để tạo một tham chiếu đến một phần tử trong một mẫu:
<input #phone placeholder="phone number">
Những gì cú pháp trên thực hiện khá đơn giản: Nó tạo ra một tham chiếu đến đầu vào phần tử có thể được sử dụng sau này trong mẫu của tôi. Lưu ý rằng phạm vi cho biến này là toàn bộ mẫu HTML trong đó tham chiếu được xác định.
Ví dụ, đây là cách tôi có thể sử dụng tham chiếu đó để lấy giá trị của đầu vào:
<!-- phone refers to the input element -->
<button (click)="callPhone(phone.value)">Call</button>
Lưu ý rằng điện thoại đề cập đến thể hiện đối tượng HTMLE bổ sung cho đầu vào . Kết quả là điện thoại có tất cả các thuộc tính và phương thức của bất kỳ HTMLEuity nào (id, name, InternalHTML, value, v.v.)
Trên đây là một cách hay để tránh sử dụng ngModel hoặc một số loại ràng buộc dữ liệu khác ở dạng đơn giản không đòi hỏi nhiều về mặt xác nhận.
Điều này cũng làm việc với các thành phần?
Câu trả lời là CÓ!
... phần hay nhất của nó là chúng tôi đang tham chiếu đến thể hiện thành phần thực tế, HelloWorldComponent, vì vậy chúng tôi có thể truy cập bất kỳ phương thức hoặc thuộc tính nào của thành phần đó (ngay cả khi chúng được khai báo là riêng tư hoặc được bảo vệ, điều đáng ngạc nhiên) :
@Component({
selector: 'app-hello',
// ...
export class HelloComponent {
name = 'Angular';
}
[...]
<app-hello #helloComp></app-hello>
<!-- The following expression displays "Angular" -->
{{helloComp.name}}
#searchBox
trên phần tử là những gì cho phép bạn sử dụngsearchBox.value
trong trình xử lý keyup.