Angular 9.0.1 更新
从这个版本开始,根index.d.ts中没有用于大量导出的桶文件。资产进口应为:
import { NgModule } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { MatButtonModule} from '@angular/material/button';
import { MatMenuModule } from '@angular/material/menu';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatIconModule } from '@angular/material/icon';
import {
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
} from '@angular/material';
@NgModule({
imports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
],
exports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
]
})
export class MaterialModule {}
source: @angular/material/index.d.ts' 不是一个模块
MaterialModule 在版本 2.0.0-beta.3 中已被弃用,并在版本 2.0.0-beta.11 中被完全删除。看到这个变更日志更多细节。请仔细阅读重大变更。
重大变化
- Angular Material 现在需要 Angular 4.4.3 或更高版本
-
材质模块已被删除。
- 对于 beta.11,我们决定弃用“md”字首
完全并且使用“垫”向前进。
请通过变更日志我们会得到更多的答案!
示例如下所示
指令
npm install --save @angular/material @angular/animations @angular/cdk
npm install --save angular/material2-builds angular/cdk-builds
在“app”文件夹内创建文件(material.module.ts)
import { NgModule } from '@angular/core';
import {
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
} from '@angular/material';
@NgModule({
imports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
],
exports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
]
})
export class MaterialModule {}
导入 app.module.ts
import { MaterialModule } from './material.module';
你的组件 html 文件
<div>
<mat-toolbar color="primary">
<span><mat-icon>mood</mat-icon></span>
<span>Yay, Material in Angular 2!</span>
<button mat-icon-button [mat-menu-trigger-for]="menu">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu x-position="before" #menu="matMenu">
<button mat-menu-item>Option 1</button>
<button mat-menu-item>Option 2</button>
</mat-menu>
<mat-card>
<button mat-button>All</button>
<button mat-raised-button>Of</button>
<button mat-raised-button color="primary">The</button>
<button mat-raised-button color="accent">Buttons</button>
</mat-card>
<span class="done">
<button mat-fab>
<mat-icon>check circle</mat-icon>
</button>
</span>
</div>
添加全局 CSS 'style.css'
@import 'https://fonts.googleapis.com/icon?family=Material+Icons';
@import '~@angular/material/prebuilt-themes/indigo-pink.css';
你的组件CSS
body {
margin: 0;
font-family: Roboto, sans-serif;
}
mat-card {
max-width: 80%;
margin: 2em auto;
text-align: center;
}
mat-toolbar-row {
justify-content: space-between;
}
.done {
position: fixed;
bottom: 20px;
right: 20px;
color: white;
}
如果有人没有得到输出,请使用以下说明
除了上面的接口(material.module.ts),你也可以在app.module.ts中直接使用下面的代码。
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MdButtonModule, MdCardModule, MdMenuModule, MdToolbarModule, MdIconModule, MatAutocompleteModule, MatInputModule,MatFormFieldModule } from '@angular/material';
所以这种情况下你不想导入
import { MaterialModule } from './material.module';
在 app.module.ts 中