web前端全系列 教程
1839个小节阅读:2243.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
我们可以通过模板变量
获取原生的DOM对象。
在模板中,要使用 #
来声明一个模板变量。
下列模板变量 #username
语法在 <input>
元素上声明了一个名为 username
的变量。意思代表我们把该input
元素赋值给了一个局部(模板上下文)变量username
,同时这个变量可以以用于组件模板的所有表达式中。
xxxxxxxxxx
<input type="text" (keyup.enter)="onKeyUp(username)" #username/>
<button (click)="onClick(username)">
点击
</button>
HTML 标记
上声明变量,该变量的值就会引用该元素。组件
上声明变量,该变量就会引用该组件实例。使用 @ViewChild
装饰器可以进行视图查找获取一个元素,获取方式:@ViewChild(模板变量名字符串)
。
其中的ElementRef
是Angular对原生DOM包装后的Angular元素,访问它里面的nativeElement
属性可以获取到对应的原生DOM元素。
xxxxxxxxxx
<input type="text" #username/>
xxxxxxxxxx
//组件文件
import { AfterViewInit, ElementRef, ViewChild } from "@angular/core"
export class HomeComponent implements AfterViewInit {
@ViewChild('username') username: ElementRef<HTMLInputElement> | undefined
ngAfterViewInit() {
// “?” 可以看作TypeSctipt对if语句的简写,当this.username有值的时候调用.nativeElement,没有值的时候则不调用
console.log(this.username?.nativeElement)
}
}
实时效果反馈
1.下列描述错误的是:
A 使用#
添加模板变量
B 模板变量可以在模板的上下文中使用
C 给HTML标记添加模板变量,模板变量代表一个DOM元素
D 给组件添加模板变量,模板变量代表一个DOM元素
答案
1=>D