Havola o‘zgaruvchilari
Elementlarga mahalliy #var belgisini bering va qiymatlarni o‘qing yoki metodlarni chaqiring.
Shablonga havola o‘zgaruvchisi nima?
- Element yoki direktiv misolga mahalliy nom beradi (masalan,
#box). - Shablonning o‘zida qiymatlarni o‘qish yoki metodlarni to‘g‘ridan-to‘g‘ri chaqirish imkonini beradi.
- U e’lon qilingan shablonga moslashtirilgan.
Shablonga havola o‘zgaruvchilari qachon foydalanish kerak
- Oddiy o‘zaro ta’sirlar (kirish qiymatini o‘qing, elementni fokuslash).
- Ko‘rinishdagi direktiv/component API-ga qo‘shimcha ulanishlarsiz kiring.
- Murakkab mantiq uchun component metodlari va holatidan foydalaning.
Misol
Shablondagi qiymatlarni o‘qish yoki usullarni to‘g‘ridan-to‘g‘ri chaqirish uchun shablon mos yozuvlar o‘zgaruvchilaridan zarur:
<input #box (input)="val = box.value">
<button (click)="box.focus()">Focus</button>
Kod tushuntirildi
#box: Kirish elementi namunasiga mahalliy shablon havolasini e’lon qiladi.- O‘qish qiymati:
box.valuekiritishning joriy matnini oladi. - Metodni chaqirish:
box.input elementining o‘z (native) focus() metodini chaqiradi.focus()
Misol
Shablondagi qiymatlarni o‘qish yoki usullarni to‘g‘ridan-to‘g‘ri chaqirish uchun shablon mos yozuvlar o‘zgaruvchilaridan zarur:
Misol
import { bootstrapApplication } from '@angular/platform-browser';
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule],
styles: [`
.toolbar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
input { padding: 6px 8px; }
`],
template: `
<h3>Template Reference Variables (#var)</h3>
<div class="toolbar">
<input #box type="text" placeholder="Type something" (input)="current = box.value" />
<button (click)="read(box.value)">Read value</button>
<button (click)="box.focus()">Focus input</button>
<span style="margin-left:8px;color:#666">length={{ box.value?.length || 0 }}</span>
</div>
<p>Current: {{ current || '(empty)' }}</p>
`
})
export class App {
current = '';
read(val: string) { this.current = val ?? ''; }
}
bootstrapApplication(App);
<app-root></app-root>
Misol tushuntirildi
#box: Kirish elementi namunasiga bog‘langan shablon mos yozuvlar o‘zgaruvchisi.- Qiymatni o‘qing:
box.valuejoriy kiritilgan matnni o‘qiydi. - Usulni chaqirish:
box.focus()kirish fokus usulini chaqiradi. - Yangilanish holati:
(input)="current = box.value"joriy kiritilgan matnni komponentningcurrentmaydoniga nusxalaydi. - Qo‘llanish doirasi: O‘zgaruvchi faqat e’lon qilingan shablonda mavjud.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
