gpt4 book ai didi

javascript - 为什么 ViewChild 不能与 angular8+ 中的 attr.id 一起使用?

转载 作者:行者123 更新时间:2023-12-01 00:42:07 25 4
gpt4 key购买 nike

当我指定 id 时,ViewChild 可以工作

<div #test_205626>test</div>

但是当我这样做时:

<div [attr.id]="test_id">test</div>

我得到类似的东西:

<div _ngcontent-gtn-c6="" id="test_205626">test</div>

在输出html中,但同时出现错误:

Cannot read property 'nativeElement' of undefined

代码是:

test_id = 'test_205626';
@ViewChild('test_205626', {read: ElementRef, static: false}) private myScrollContainer3: ElementRef;

为什么 ViewChild 不能与 [attr.id] 一起使用?

最佳答案

来自ViewChild 关于 Angular.io 的文档:

The following selectors are supported.

  • Any class with the @Component or @Directive decorator
  • A template reference variable as a string (e.g. query <my-component #cmp></my-component> with @ViewChild('cmp'))
  • Any provider defined in the child component tree of the current component (e.g. @ViewChild(SomeService) someService: SomeService)
  • Any provider defined through a string token (e.g. @ViewChild('someToken')
    someTokenVal: any
    )
  • A TemplateRef (e.g. query <ng-template></ng-template> with @ViewChild(TemplateRef) template;)
<小时/>

您尝试使用的 id 属性选择器实际上不适用于 @ViewChild .

您必须坚持使用<div #test_205626>test</div>仅。

关于javascript - 为什么 ViewChild 不能与 angular8+ 中的 attr.id 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57650435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com