如果 X 是 Angular 组件,则验证它是该模块的一部分
If X is an Angular component, then verify that it is part of this module
每当我添加新的 material directive/component:
时,我总是收到这个可怕的错误
Uncaught Error: Template parse errors:
'mat-input' is not a known element:
1. If 'mat-input' is an Angular component, then verify that it is part of this module. **(By doing what, asshole?)**
2. If 'mat-input' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
我的主模块中有这个:
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MatCheckboxModule, MatMenuModule, MatInput, MatInputModule} from '@angular/material';
import {AppComponent} from './app.component';
import {RoutingModule, EmptyComponent} from './routing.module';
import {SharedModule} from './shared.module';
import {RouterModule, RouterLink} from '@angular/router';
import {MatButtonModule} from '@angular/material/button';
import {MatIconModule} from '@angular/material/icon';
@NgModule({
declarations: [
AppHeader,
AppComponent,
PageNotFoundComponent,
FooterComponent,
EmptyComponent,
ControlPanelComponent,
AboutComponent,
HomeComponent,
ContactComponent,
],
imports: [
MatInputModule,
MatIconModule,
MatButtonModule,
RouterModule,
RouterModule,
BrowserModule,
MatMenuModule,
MatButtonModule,
MatCheckboxModule,
BrowserAnimationsModule,
RoutingModule,
SharedModule
],
exports: [
RouterModule,
RoutingModule,
MatMenuModule
],
providers: [],
bootstrap: [
AppComponent
]
})
export class AppModule {
}
这是一个共享模块,我认为它包含大部分依赖项:
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FlexLayoutModule} from '@angular/flex-layout';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {RouterModule, Routes, RouterLink} from '@angular/router';
import {RoutingModule} from './routing.module';
import {
MatButtonModule,
MatIconModule,
MatInputModule,
MatSelectModule,
MatMenuModule,
MatTabsModule,
MatToolbarModule,
} from '@angular/material';
@NgModule({
imports: [
RouterModule,
RoutingModule,
CommonModule,
FormsModule,
ReactiveFormsModule,
FlexLayoutModule,
MatButtonModule,
MatIconModule,
MatInputModule,
MatSelectModule,
MatMenuModule,
MatTabsModule,
MatToolbarModule,
],
declarations: [],
exports: [
RouterModule,
RoutingModule,
FormsModule,
ReactiveFormsModule,
FlexLayoutModule,
MatButtonModule,
MatIconModule,
MatInputModule,
MatSelectModule,
MatMenuModule,
MatTabsModule,
MatToolbarModule,
MatButtonModule
]
})
export class SharedModule {
}
我在这里错过了什么?不清楚我需要做什么来满足所需的依赖关系。
如何验证 mat-input
是该模块的一部分??
您使用以下 HTML 创建一个 Material 输入:
<mat-form-field>
<input matInput />
</mat-form-field>
或者简单地说:
<input matInput/>
Material 中没有 <mat-input>
元素 - 导入 MatInputModule 使您可以访问 matInput
指令。
每当我添加新的 material directive/component:
时,我总是收到这个可怕的错误Uncaught Error: Template parse errors:
'mat-input' is not a known element:
1. If 'mat-input' is an Angular component, then verify that it is part of this module. **(By doing what, asshole?)**
2. If 'mat-input' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
我的主模块中有这个:
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MatCheckboxModule, MatMenuModule, MatInput, MatInputModule} from '@angular/material';
import {AppComponent} from './app.component';
import {RoutingModule, EmptyComponent} from './routing.module';
import {SharedModule} from './shared.module';
import {RouterModule, RouterLink} from '@angular/router';
import {MatButtonModule} from '@angular/material/button';
import {MatIconModule} from '@angular/material/icon';
@NgModule({
declarations: [
AppHeader,
AppComponent,
PageNotFoundComponent,
FooterComponent,
EmptyComponent,
ControlPanelComponent,
AboutComponent,
HomeComponent,
ContactComponent,
],
imports: [
MatInputModule,
MatIconModule,
MatButtonModule,
RouterModule,
RouterModule,
BrowserModule,
MatMenuModule,
MatButtonModule,
MatCheckboxModule,
BrowserAnimationsModule,
RoutingModule,
SharedModule
],
exports: [
RouterModule,
RoutingModule,
MatMenuModule
],
providers: [],
bootstrap: [
AppComponent
]
})
export class AppModule {
}
这是一个共享模块,我认为它包含大部分依赖项:
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FlexLayoutModule} from '@angular/flex-layout';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {RouterModule, Routes, RouterLink} from '@angular/router';
import {RoutingModule} from './routing.module';
import {
MatButtonModule,
MatIconModule,
MatInputModule,
MatSelectModule,
MatMenuModule,
MatTabsModule,
MatToolbarModule,
} from '@angular/material';
@NgModule({
imports: [
RouterModule,
RoutingModule,
CommonModule,
FormsModule,
ReactiveFormsModule,
FlexLayoutModule,
MatButtonModule,
MatIconModule,
MatInputModule,
MatSelectModule,
MatMenuModule,
MatTabsModule,
MatToolbarModule,
],
declarations: [],
exports: [
RouterModule,
RoutingModule,
FormsModule,
ReactiveFormsModule,
FlexLayoutModule,
MatButtonModule,
MatIconModule,
MatInputModule,
MatSelectModule,
MatMenuModule,
MatTabsModule,
MatToolbarModule,
MatButtonModule
]
})
export class SharedModule {
}
我在这里错过了什么?不清楚我需要做什么来满足所需的依赖关系。
如何验证 mat-input
是该模块的一部分??
您使用以下 HTML 创建一个 Material 输入:
<mat-form-field>
<input matInput />
</mat-form-field>
或者简单地说:
<input matInput/>
Material 中没有 <mat-input>
元素 - 导入 MatInputModule 使您可以访问 matInput
指令。