' MD卡'材料2中不是已知元素

时间:2017-08-25 13:07:04

标签: angular angular-material2

我使用角度4和材质2处理Web应用程序。我收到此错误

parse errors:
'md-card' is not a known element:
1. If 'md-card' is an Angular component, then verify that it is part of this module.
2. If 'md-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<h2>Nothing to show</h2>
[ERROR ->]<md-card>Simple card</md-card>
"): ng:///AppAccessModule/SPLoginComponent.html@1:0
    at syntaxError 

当我尝试在文件夹中嵌套两次的组件中使用材料时

这些是我的结构:

  -----Components(folder)
  -------Auth(folder)
  --------Login(component1)
  --------Signup(component2)

但是,如果我下一次喜欢这个:

  -------Auth(folder)
  --------Login(component 1)
  --------Signup(component2)

我没有任何问题我该怎么做才能解决这个问题?感谢

4 个答案:

答案 0 :(得分:13)

src/app/modules/app-access.module.ts导入MdCardModule

import { MdCardModule } from '@angular/material';

并将其添加到导入中:

imports: [ 
        ....
        MdCardModule, 
    ],  

如果您使用材料2中的任何其他组件,也请添加它们。

答案 1 :(得分:3)

import { MatCardModule } from '@angular/material/card';

@NgModule({ ..
 imports: [..
MatCardModule]

答案 2 :(得分:0)

您正在导入已在beta-3中弃用的MaterialModule。 导入要单独使用的所有材料模块,即MdCardModule或创建自己的BoomMaterialModule,您可以在其中导入和导出要在应用中使用的所有材料模块。 / p>

错误:

import { MaterialModule,MdSelectModule } from '@angular/material';
         ^^^^^^^^^^^^^^

导入MdCardModule

或创建BoomMaterialModule:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {
  MdButtonModule,
  MdButtonToggleModule,
  MdCardModule,
  ...
  MdExpansionModule
} from '@angular/material';
import 'hammerjs';

@NgModule({
  imports: [
    CommonModule,
    MdButtonModule,
    MdButtonToggleModule,
    MdCardModule,
    ...
    MdExpansionModule
  ],
  exports: [
    MdButtonModule,
    MdButtonToggleModule,
    MdCardModule,
    ...
    MdExpansionModule
  ]
})
export class BoomMaterialModule {
}

答案 3 :(得分:0)

如果您有一个shared.module.ts或只是单独导入模块,请确保在Angular的 BrowserModule 之后导入Angular Material模块,因为导入顺序对于 NgModules 很重要