Angular 6 Material - 组件不是已知元素

bha*_*esh 3 angular-material angular angular6

我正在尝试在我的 Angular 6 应用程序中安装 Material Design。我使用命令添加了导航原理图ng generate @angular/material:nav myNav。当我编译并提供应用程序时,我收到错误消息

未捕获的错误:模板解析错误:'my-nav' 不是已知元素: 1. 如果 'my-nav' 是一个 Angular 组件,则验证它是否是该模块的一部分。

我的 app.modules.ts 代码如下:

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 { LayoutModule } from '@angular/cdk/layout';
import { MatToolbarModule, MatButtonModule, MatSidenavModule, MatIconModule, MatListModule } from '@angular/material';
import { MyNavComponent } from './my-nav/my-nav.component';

@NgModule({
  declarations: [
    AppComponent,
    MyNavComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    LayoutModule,
    MatToolbarModule,
    MatButtonModule,
    MatSidenavModule,
    MatIconModule,
    MatListModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

我的 app.component.html 代码如下:

<my-nav></my-nav>
Run Code Online (Sandbox Code Playgroud)

请让我知道我哪里出错了。

pza*_*ger 6

因为它是:

@Component({
  selector: 'app-my-nav',
  templateUrl: './my-nav.component.html',
  styleUrls: ['./my-nav.component.css']
})
Run Code Online (Sandbox Code Playgroud)

您的选择器是app-my-nav,因此它是<app-my-nav></app-my-nav>

selector 在模板中标识该指令并触发该指令的实例化。