首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular中的ViewChild/ViewChild和类选择器

Angular中的ViewChild/ViewChild和类选择器
EN

Stack Overflow用户
提问于 2020-07-18 01:54:14
回答 2查看 1.5K关注 0票数 2

我使用Angular 9并使用ViewChildViewChildren来选择我的HTML文件中存在的元素。这两个函数中有支持类选择器的吗?据我所知,它们只适用于身份证。

代码语言:javascript
复制
@ViewChild('.foo') Foo: ElementRef;

任何替代方法也是好的,只是在函数执行期间,我希望能够访问所有的'Foo‘对象。

https://angular.io/api/core/ViewChild

https://angular.io/api/core/ViewChildren

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-18 02:02:25

不,ViewChild不支持类选择器。要获取一个HTML元素,可以使用template reference variable,如下所示:

代码语言:javascript
复制
<div #refElement> ... </div>         //  # refElement is a template reference variable

.ts

代码语言:javascript
复制
 @ViewChild('refElement') el: ElementRef;


// viewchild instance will be available in or after ngAfterviewInit life cycle hook

 ngAfterViewInit(){  
       console.log(this.el.nativeElement); 
 }
票数 0
EN

Stack Overflow用户

发布于 2020-07-18 02:09:56

ViewChild或ViewChildren仅适用于references(e.xhtml格式的#element )。如果你想按类选择,你可以使用ElementRefElementRef将允许您访问组件的模板。因此,在获得组件模板作为html元素后,您可以使用原生javascript函数,如getElementsByClassName

代码语言:javascript
复制
constructor(private elementRef: ElementRef) {}
...
this.elementRef.nativeElement.getElementsByClassName('foo')
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62959389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档