angular - Angular Material Sidenav 模块无法识别
问题描述
我正在使用 Angular 9.1.11 和 Angular Material 9.2.4 。当我尝试导入MaterialSidenavModule时遇到此问题,因此我可以使用mat-sidenav-container等组件。
这是我的 app.module.ts 文件:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HeaderComponent } from './header/header.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {MatIconModule} from '@angular/material/icon';
import {MatButtonModule} from '@angular/material/button';
import { SidemenuComponent } from './sidemenu/sidemenu.component';
import { MatSidenavModule } from '@angular/material/sidenav';
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
SidemenuComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatIconModule,
MatButtonModule,
MatSidenavModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
问题是我的 IDE (WebStorm) 告诉我 MatSidenavModule 不是 Angular 模块并且不会导入它。我的 sidenav 组件也有错误,我想使用的所有材料 sidenav 组件都不是有效的 html 标签...
组件的 HTML 模板:
<mat-sidenav-container class="sidemenu-container">
<mat-sidenav mode="side" [(opened)]="opened">
Sidenav content
</mat-sidenav>
<mat-sidenav-content>
<p>Dummy text</p>
</mat-sidenav-content>
</mat-sidenav-container>
我所有的其他导入工作都很好,但这个不会停止破坏我的应用程序。我在哪里做错了?
解决方案
太好了,我刚刚解决了我的问题。
显然,如果在您的项目中禁用了Ivy( Angular 自版本9以来的新编译和渲染管道), Angular Material 9+将无法工作(哎呀,我猜)。
我再次将Material包从版本 9 更新到了 10,重新启用了Ivy,之后该应用程序似乎运行得非常好。
推荐阅读
- android - 语音交互器在运行时始终返回 null
- java - 调度程序不调用 Spring Boot Batch Job
- pyspark - 没有得到正确的标签 Graphframe LPA
- react-native - 从抽屉导航器中注销的问题
- tensorflow - Tensorflows 量化感知训练是否会导致训练期间的实际加速?
- eslint - ESLint:如何在 VSCode 折叠区域注释上间隔注释异常
- node.js - Angular / Electron 服务输出传递给变量但返回未定义
- ruby-on-rails-4 - rails 强制在 where 子句中执行 SQL 查询
- slurm - 普通用户和 sacctmgr 为某个帐户创建的用户有什么区别?
- blueprism - 可以在未安装 Blue Prism 的机器上部署 Blue Prism 解决方案吗?