我正在使用Angular客户端应用程序,并且我已经在该应用程序中使用了Material的一些功能,例如对话框,选择,卡片等。我想我已经安装了所需的一切。现在我做了一个sidenav,我想使用material的sidenav模块,所以我做到了:
<mat-container>
<mat-content>
<div (click)="sidenav.toggle()"></div>
my component html . . .
</mat-content>
<mat-sidenav #sidenav>
<app-sidenav></app-sidenav>
</mat-sidenav>
</mat-container>
现在,当我导航到该组件时,我得到一个错误:
未捕获(承诺):TypeError:无法读取未定义的属性“ runOutsideAngular”
在没有该组件的情况下,它可以正常工作...有人知道这可能是什么问题吗? 谢谢!
答案 0 :(得分:4)
我做了几乎相同的代码,但是将它们更改为如下:
<mat-container> => <mat-drawer-container>
<mat-content> => <mat-drawer-content>
<mat-sidenav #sidenav> => <mat-drawer #drawer>
答案 1 :(得分:2)
在Angular Material's Navigation Schematic上运行ng test
时遇到了相同的错误:
ng generate @angular/material:material-nav --name <component-name>
我通过将mat-sidenav
中的mat-drawer
更改为mat-navbar-test.component.html
来解决此问题。
答案 2 :(得分:1)
我像这样使sidenav正常工作,尝试一下。
<mat-container>
<mat-content>
<div (click)="sidenav.toggle()">
my component html . . .
</div>
</mat-content>
</mat-container>
<mat-sidenav-container>
<mat-sidenav #sidenav>
<app-sidenav></app-sidenav>
</mat-sidenav>
</mat-sidenav-container>
答案 3 :(得分:0)
之前
<mat-sidenav-container *ngIf="currentAdmin && currentAdmin.role" id="nav" >
我遇到了这个问题,并通过删除父项“ mat-sidenav-container”上的* ngIf来解决了该问题
<mat-sidenav-container id="nav" >