gpt4 book ai didi

angular - 如何在组件中切换 Angular Material sidenav

转载 作者:行者123 更新时间:2023-12-04 02:42:14 25 4
gpt4 key购买 nike

如何在组件中调用 Angular Material Sidenav Action ?我有一个用例,sidenav 只能在 callMethods() 方法触发时打开/关闭。我也不能简单地在 callMethods() 中传递 open(e) (需要 1 个参数)。有没有办法做到这一点?

app.html

<mat-sidenav-container class="example-container">
<mat-sidenav #sidenav [mode]="mode.value">
<p>
some nav here
</p>
</mat-sidenav>

<mat-sidenav-content>
<p><button mat-button (click)="open(sidenav)">Toggle</button></p>
<p>
some text here
</p>
</mat-sidenav-content>
</mat-sidenav-container>

app.ts

open(e: any) {
e.toggle();
}

callMethods() {
this.open(); // required 1 arguments
this.otherMethod();
}
anotherMethod() {
this.open(); // required 1 arguments
this.otherMethod();
}

注意:我注意到有一个 post但不清楚

最佳答案

通过组件上的 [opened] 参数来打开和关闭 Angular Material 侧导航的一种很好的干净方式。你可以传递一个 bool 值,你可以操纵它来打开/关闭侧导航。

app.html

<mat-sidenav-container class="example-container">
<mat-sidenav #sidenav [mode]="mode.value" [opened]="isShowing">
<p>
some nav here
</p>
</mat-sidenav>

<mat-sidenav-content>
<p><button mat-button (click)="toggleSidenav()">Toggle</button></p>
<p>
some text here
</p>
</mat-sidenav-content>
</mat-sidenav-container>

你的 callMethods 函数可以干净地调用你的切换方法,如果它实现如下:

app.ts

isShowing: boolean;

toggleSidenav() {
this.isShowing = !this.isShowing;
}

callMethods() {
this.toggleSidenav();
}


关于angular - 如何在组件中切换 Angular Material sidenav,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58852134/

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