导入后“mat-slide-toggle”不是已知元素

Mat*_*AVM 5 html slidetoggle angular-material angular

我正在尝试<mat-slide-toggle>Click me!</mat-slide-toggle>在已经MatSlideToggleModule导入的组件中使用,但我仍然收到消息,表明它不是已知元素。

角度版本:8.0.1

HTML 页面 (slide-page.html)

<div class="grid-slide-toggle-material"> 
  <mat-slide-toggle>Click me!</mat-slide-toggle>
</div>
Run Code Online (Sandbox Code Playgroud)

模块 (slide-page.module.ts)

import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; 
import { CommonModule } from '@angular/common';
import { MaterialModule } from 'projects/authenticator/src/shared/modules/material.module';
import { BasicModule } from 'src/app/shared/modules/basic/basic.module';
import { MatButtonToggleModule, MatButtonToggleGroup } from '@angular/material';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';

@NgModule({
  declarations: [],
  imports: [
    MaterialModule,
    ReactiveFormsModule,
    CommonModule,
    FormsModule,
    MatButtonToggleModule,
    MatSlideToggleModule 
  ]
})
export class SlidePageModule { }
Run Code Online (Sandbox Code Playgroud)

即使在项目的模块中导入后,html 怎么可能不被识别?

Hil*_*ard 7

正如丹尼尔建议的那样,您需要将 MatSlideToggleModule 添加到@NgModule 中丢失的导出中。

但是,请介意写MatSlideToggleModule而不是MatSlideToogleModule

在 app.moudle.ts 中,添加:

`import { MatSlideToggleModule } from '@angular/material/slide-toggle'`
Run Code Online (Sandbox Code Playgroud)

在@NgModule 中,导入,添加:

MatSlideToggleModule 
Run Code Online (Sandbox Code Playgroud)


Dan*_*ner 3

尝试将 MatSlideToogleModule 添加到 @NgModule 中缺少的导出。

再补充一个想法。您在哪里声明了组件?假设您的组件正在调用slidePageComponent。

import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; 
import { CommonModule } from '@angular/common';
import { MaterialModule } from 'projects/authenticator/src/shared/modules/material.module';
import { BasicModule } from 'src/app/shared/modules/basic/basic.module';
import { MatButtonToggleModule, MatButtonToggleGroup } from '@angular/material';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { SlidePageComponent } from './component/slide-page.component'

@NgModule({
  declarations: [
  SlidePageComponent
],
  imports: [
    MaterialModule,
    ReactiveFormsModule,
    CommonModule,
    FormsModule,
    MatButtonToggleModule,
    MatSlideToggleModule 
  ],
exports: [
    MatSlideToggleModule 
]
})
export class SlidePageModule { }
Run Code Online (Sandbox Code Playgroud)