【问题标题】:material design not recognize材料设计不认识
【发布时间】:2020-06-03 02:36:22
【问题描述】:

这是我的文件夹:

-app 
     -content
     -footer
     -header
       -main-header
         {other services - shortcut} <- I just shortcut this bec. it is too long.
         main-header.component.html
         main-header.component.scss
         main-header.component.spec.ts
         main-header.module.ts
         main-header.routing.ts
     app.component.html
     etc..

主头模块

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MainHeaderComponent } from './main-header.component';
import { MainHeaderRouteModule } from './main-header.routing';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatCardModule } from '@angular/material/card';
import { MatSidenavModule } from '@angular/material/sidenav';
import { FormsModule } from '@angular/forms';
import { LayoutModule } from '@angular/cdk/layout';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatListModule } from '@angular/material/list';

@NgModule({
  declarations: [
    MainHeaderComponent
  ],
  imports: [
    MatCardModule,
    MatCheckboxModule,
    MatSidenavModule,
    FormsModule,
    LayoutModule,
    MatToolbarModule,
    MatButtonModule,
    MatIconModule,
    MatListModule,
    MatCardModule,
    MainHeaderRouteModule,
    CommonModule
  ]
})
export class MainHeaderModule {}

main-header.routing

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { MainHeaderComponent } from './main-header.component';


const routes: Routes = [
  {path: '', component: MainHeaderComponent}
];


@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class MainHeaderRouteModule {}

应用模块

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MainHeaderComponent } from './header/main-header/main-header.component';


@NgModule({
  declarations: [
    AppComponent,
    MainHeaderComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule
  ],
  exports: [
    MainHeaderComponent
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app.routing.module

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';


const routes: Routes = [
  {path: '', redirectTo: 'main-header', pathMatch: 'full'},
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

由于我使用的是延迟加载路线,因此主模块似乎无法识别角度材料:

'mat-sidenav-container' 不是已知元素: 1. 如果“mat-sidenav-container”是一个 Angular 组件,那么验证它是这个模块的一部分。 2. 如果“mat-sidenav-container”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。 ("[错误->]

【问题讨论】:

    标签: angular angular-material angular2-routing


    【解决方案1】:

    我没有看到您在 app.module 中的任何位置导入 MainHeaderModule

    【讨论】:

    • 我试过这个,但出现了这个错误。 D:/Angular/proj/src/app/header/main-header/main-header.component.ts 中的 MainHeaderComponent 类型错误是 2 个模块声明的一部分
    • 我不知道您的代码库的结构,但我看到您在两个不同模块的声明中包含“MainHeaderComponent”。从其中一个中删除它。
    【解决方案2】:

    根据cmets for Lys的回答,需要在app.module.ts中导入MainHeaderModule。然后你会得到你提到的错误

     ERROR in Type MainHeaderComponent in D:/Angular/proj/src/app/header/main-header/main-header.component.ts is part of the declarations of 2 modules 
    

    错误是因为在两个模块中您都声明了 MainHeaderComponent。从 app.module.ts 中移除 MainHeaderComponent。因为它已经在主头模块中声明了。在 app.module.ts 中导入主头模块将处理 MainHeaderComponent。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-05
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 2015-05-19
      • 2023-04-02
      相关资源
      最近更新 更多