@ViewChild返回未定义的Angular 8

时间:2019-11-29 23:37:39

标签: html angular viewchild

由于某种原因,我的Angular 8 App中的@ViewChild无法“未定义”工作。我在html文件中定义了这样的内容:

<div class="container">
    <div class="row h-100">
      <kendo-splitter orientation="vertical">
        <kendo-splitter-pane>
          <kendo-splitter>
        <kendo-splitter-pane>
            ...
        </kendo-splitter-pane>
        <kendo-splitter-pane>
            <div>
                <myComponent #myComp ....> </<myComponent> // ViewChild id here
            </div>
        </kendo-splitter-pane>
    </kendo-splitter>
        </kendo-splitter-pane>
      </kendo-splitter>

在ts文件中,我尝试了以下操作,但所有操作均返回undefined:

  1. @ViewChild(myComponent,{static:true})子代:myComponent;

  2. @ViewChild('myComp',{static:false})子代:myComponent;

  3. @ViewChild('myComp',{static:true})子元素:ElementRef;

,我使用了ngAfterViewInit,但仍未定义。是因为myCompnent由许多html元素包装了吗?

1 个答案:

答案 0 :(得分:0)

尝试

@ViewChild('myComp', { static: false }) child: myComponent;

或者如果您正在使用

@ViewChild(myComponent, { static: true }) child: myComponent;

确保myComponent是组件类名称而不是选择器(请注意,因为我无法从示例代码中确认它)