简体   繁体   English

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

[英]'mat-slide-toggle' is not a known element after import

I'm trying to use <mat-slide-toggle>Click me!</mat-slide-toggle> inside a component which already has MatSlideToggleModule imported, but I'm still getting the message that it's not a known element.我正在尝试在已导入MatSlideToggleModule的组件中使用<mat-slide-toggle>Click me!</mat-slide-toggle> ,但我仍然收到消息,表明它不是已知元素。

Angular version: 8.0.1角度版本:8.0.1

HTML Page (slide-page.html) HTML 页面 (slide-page.html)

<div class="grid-slide-toggle-material"> 
  <mat-slide-toggle>Click me!</mat-slide-toggle>
</div>

Module (slide-page.module.ts)模块 (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 { }

How is it possible that the html is not being recognized even after the imports in the item's module?即使在项目的模块中导入后,html 怎么可能不被识别?

As Daniel suggested, you need to add MatSlideToggleModule to your missing export in @NgModule.正如丹尼尔建议的那样,您需要将 MatSlideToggleModule 添加到@NgModule 中丢失的导出中。

But , please mind to write MatSlideToggleModule instead of MatSlideToogleModule .但是,请注意编写MatSlideToggleModule而不是MatSlideToogleModule

In app.moudle.ts, add:在 app.moudle.ts 中,添加:

`import { MatSlideToggleModule } from '@angular/material/slide-toggle'`

inside @NgModule, imports, add:在@NgModule 中,导入,添加:

MatSlideToggleModule 

try to add MatSlideToogleModule to your missing export in @NgModule.尝试将 MatSlideToogleModule 添加到您在 @NgModule 中丢失的导出中。

Adding one more idea.再补充一个想法。 Where do you have declared a component?你在哪里声明了一个组件? Assume that your component is calling slidePageComponent.假设您的组件正在调用 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 { }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM