【问题标题】:How to use Angular Material in Angular 5如何在 Angular 5 中使用 Angular 材质
【发布时间】:2018-06-03 00:46:12
【问题描述】:

我刚开始学习 Angular 5。我需要使用 Angular Material 进行表单样式和布局。

到目前为止所做的事情: 1. npm install --save @angular/material @angular/cdk 2.将app.module.ts的@NgModule中的模块导入并导出。

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms'
import { AppComponent } from './app.component';
import { RegisterComponent } from './register/register.component';
import { LoginComponent } from './login/login.component';
import { AppRoutingModule } from './/app-routing.module';
import { DashboardComponent } from './dashboard/dashboard.component';
import { UserService } from './user.service';
import {
  MatAutocompleteModule,
  MatButtonModule,
  MatButtonToggleModule,
  MatCardModule,
  MatCheckboxModule,
  MatChipsModule,
  MatDatepickerModule,
  MatDialogModule,
  MatExpansionModule,
  MatGridListModule,
  MatIconModule,
  MatInputModule,
  MatListModule,
  MatMenuModule,
  MatNativeDateModule,
  MatPaginatorModule,
  MatProgressBarModule,
  MatProgressSpinnerModule,
  MatRadioModule,
  MatRippleModule,
  MatSelectModule,
  MatSidenavModule,
  MatSliderModule,
  MatSlideToggleModule,
  MatSnackBarModule,
  MatSortModule,
  MatTableModule,
  MatTabsModule,
  MatToolbarModule,
  MatTooltipModule,
  MatStepperModule,
} from '@angular/material';
import {HttpModule} from '@angular/http';
import {CdkTableModule} from '@angular/cdk/table';
@NgModule({
  declarations: [
    AppComponent,
    RegisterComponent,
    LoginComponent,
    DashboardComponent
  ],
  imports: [
    BrowserModule,
    MatAutocompleteModule,
    MatButtonModule,
    MatButtonToggleModule,
    MatCardModule,
    MatCheckboxModule,
    MatChipsModule,
    MatDatepickerModule,
    MatDialogModule,
    MatExpansionModule,
    MatGridListModule,
    MatIconModule,
    MatInputModule,
    MatListModule,
    MatMenuModule,
    MatNativeDateModule,
    MatPaginatorModule,
    MatProgressBarModule,
    MatProgressSpinnerModule,
    MatRadioModule,
    MatRippleModule,
    MatSelectModule,
    MatSidenavModule,
    MatSliderModule,
    MatSlideToggleModule,
    MatSnackBarModule,
    MatSortModule,
    MatTableModule,
    MatTabsModule,
    MatToolbarModule,
    MatTooltipModule,
    MatStepperModule,
    FormsModule,
    AppRoutingModule,
  ],
  exports: [
    CdkTableModule,
    MatAutocompleteModule,
    MatButtonModule,
    MatButtonToggleModule,
    MatCardModule,
    MatCheckboxModule,
    MatChipsModule,
    MatStepperModule,
    MatDatepickerModule,
    MatDialogModule,
    MatExpansionModule,
    MatGridListModule,
    MatIconModule,
    MatInputModule,
    MatListModule,
    MatMenuModule,
    MatNativeDateModule,
    MatPaginatorModule,
    MatProgressBarModule,
    MatProgressSpinnerModule,
    MatRadioModule,
    MatRippleModule,
    MatSelectModule,
    MatSidenavModule,
    MatSliderModule,
    MatSlideToggleModule,
    MatSnackBarModule,
    MatSortModule,
    MatTableModule,
    MatTabsModule,
    MatToolbarModule,
    MatTooltipModule,
  ],
  providers: [UserService],
  bootstrap: [AppComponent]
})
export class AppModule { }

我想在根组件(app-module)的子组件(register-component.html)中使用角度材质标签。该怎么做?

【问题讨论】:

  • 你在使用延迟加载模块吗?
  • 当您在项目的根文件夹中时,输入 ng --version 并检查您是否可以看到类似 Angular: 5.2.2 的行,以证明您的项目确实配置为 angular5。如果是5,则按照5。如果是4,则按照4。

标签: typescript angular-material2 angular5


【解决方案1】:

根据Angular Material Docs,在您从“@angular/material”导入所有模块后,您还必须在 app.module.ts 的输入数组中添加:

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

确保您已在<project_folder>/src/app/styles.css put 中添加了角度材质的主题:

@import '~@angular/material/prebuilt-themes/indigo-pink.css';

现在在你的 html 中:

<button mat-button color="primary">Hello</button>

  • 检查你是否安装了@angular/cdk 包,这也是这个工作所必需的

【讨论】:

  • 我在某处读到动画不是所有组件都需要的,所以我跳过了它。现在我也安装并导入了它。但是还是不行!!
  • 可能需要更多细节来重现这个问题,我目前正在使用:angular/cli 1.6.0, angular/core ^5.0.0, angular/material ^5.0.0 ` 一切都按预期工作.虽然我使用共享模块来导入和导出所有角度/材料依赖。您能否提供有关您的使用情况的更多详细信息?还是一个笨拙的例子?还是实际浏览器渲染、控制台错误等的屏幕截图?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-02
  • 2018-02-16
  • 2019-02-05
  • 1970-01-01
  • 1970-01-01
  • 2016-11-10
  • 2018-06-17
相关资源
最近更新 更多