首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >访问HTML模板中的ngIf DOM元素的角度

访问HTML模板中的ngIf DOM元素的角度
EN

Stack Overflow用户
提问于 2022-03-02 14:48:41
回答 1查看 416关注 0票数 0

我试图访问我的HTML模板中的DOM元素,但是我遇到了一个问题:这个元素是以ngIf为条件的,因此我有以下错误“属性‘抽屉’在‘Component’类型上不存在”。

以下是我的HTML代码的摘录:

代码语言:javascript
代码运行次数:0
运行
复制
<mat-sidenav-container>
    <mat-sidenav #drawer *ngIf="condition">
        ...
    </mat-sidenav>
    <mat-sidenav-content>
        <some-component (someEventEmitter)="drawer.open()"></some-component>
    </mat-sidenav-content>
</mat-sidenav-container>

有什么办法可以叫#抽屉,即使它是有条件的?

我尝试使用“drawer.open():null”对其进行调理,但也得到了相同的错误。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-03-02 14:51:16

最好的方法是隐藏它,而不是使用ngIf。

代码语言:javascript
代码运行次数:0
运行
复制
<mat-sidenav-container>
    <mat-sidenav #drawer [hidden]="!condition">
        ...
    </mat-sidenav>
    <mat-sidenav-content>
        <some-component (someEventEmitter)="drawer.open()">
    </mat-sidenav-content>
</mat-sidenav-container>

这应该能行

而且,当抽屉不在的时候,你也不能用抽屉做事情。

代码语言:javascript
代码运行次数:0
运行
复制
<mat-sidenav #drawer id="drawer" *ngIf="condition">
  ...
</mat-sidenav>

ts

代码语言:javascript
代码运行次数:0
运行
复制
const element: HTMLElement = document.getElementById('drawer') as HTMLElement;

if (element) {
  // do things with drawer
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71324661

复制
相关文章

相似问题

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