Angular中@ViewChild的用法
本篇内容主要讲解“Angular中@ViewChild的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Angular中@ViewChild的用法”吧!
创新互联公司服务项目包括肥东网站建设、肥东网站制作、肥东网页制作以及肥东网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,肥东网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到肥东省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
简单来说
个人对@ViewChild的理解就是:它是一个指代,可以通过这个指代,得到这个组件或者元素。并且我们可以使用得到的这个组件的值和方法。
为了更直观的知道它是做什么,直接上代码
通过@ViewChild获取子组件,得到子组件的值、调用子组件的方法
子组件child
content:'Zita'; changeChildCon() { this.content = 'Zita1111' }
父组件parent
htmlts import { ViewChild } from '@angular/core'; @ViewChild('ChildrenView', { static: true }) childrenView: any; //ChildrenView为子组件中的#后边的值,childrenView是个名称用来指代子组件 this.childrenView.content // Zita 获取子组件中的值 this.childrenView.changeChildCon() // 执行子组件中的方法 this.childrenView.content // Zita1111
通过@ViewChild获取某个元素
html
ts
import { ViewChild, ElementRef } from '@angular/core'; @ViewChild('parBele', { static: true }) eleRef: ElementRef; this.eleRef.nativeElement.style.color = 'red'; // 更改获取的dom元素的样式
那么,通过这段代码,你就会在页面中看到,figure标签中的字体颜色变成了红色
特别提醒
angular8.0之后一定要加上{ static: true } 这个属性哦,除此外,官方给这个属性的解释说明是:
元数据属性:
selector - 用于查询的指令类型或名字。
read - 从查询到的元素中读取另一个令牌。
static - True to resolve query results before change detection runs, false to resolve after change detection. Defaults to false.
对于static,意思就是:如果为true,则在运行更改检测之前解析查询结果,如果为false,则在更改检测之后解析。默认false.
怎么理解呐?
主要就在于“更改检测”这个动作的发生节点。
例如,我们经常使用到的ngIf、ngShow指令,如果子组件中加入了这些指令,而同时static为true。那么,当我们去捕获指代目标时,得到的值将是undefined
到此,相信大家对“Angular中@ViewChild的用法”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文章名称:Angular中@ViewChild的用法
URL标题:http://pwwzsj.com/article/jieppe.html