javascript - Angular 看不到我的组件的选择器
问题描述
我已经创建了组件(滑块),但在另一个文件(主页)中看不到他。
如果 'app-slider' 是一个 Angular 组件,那么验证它是这个模块的一部分。
slider.component.ts 我的app-slider
选择器在哪里
@Component({
selector: 'app-slider',
templateUrl: './slider.component.html',
styleUrls: ['./slider.component.scss']
})
export class SliderComponent implements OnInit {
components.module.tsdeclatations/export
我 所在的模块SliderComponent
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SliderComponent } from './slider/slider.component';
import { SharedModule } from '../shared/shared.module';
@NgModule({
imports: [
CommonModule,
SharedModule.forRoot()
],
declarations: [SliderComponent],
exports: [SliderComponent]
})
export class ComponentsModule { }
我使用的 main-page.component.html<app-slider></app-slider>
<div class="content">
<section class="main">
<div class="container">
<app-slider></app-slider>
....
我的PagesModuleMainPageComponent
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '../../shared/shared.module';
import { MainPageComponent } from './main-page/main-page.component';
@NgModule({
imports: [
CommonModule,
SharedModule.forRoot()
],
declarations: [MainPageComponent],
})
export class PagesModule { }
带有两个模块的App.module.ts
import { ComponentsModule } from './components/components.module';
import { PagesModule } from './routes/pages/pages.module';
@NgModule({
declarations: [
AppComponent,
],
imports: [
CommonModule,
ComponentsModule,
PagesModule,
...
UPD 1
我已经删除和ComponentsModule
导入,但问题是一样的。请检查链接PagesModule
App.modules
ComponentsModule
PagesModule
页面模块
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '../../shared/shared.module';
import { ComponentsModule } from '../../components/components.module';
import { MainPageComponent } from './main-page/main-page.component';
@NgModule({
imports: [
CommonModule,
ComponentsModule,
SharedModule.forRoot()
],
declarations: [MainPageComponent],
})
export class PagesModule { }
更新后的 App.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { RoutesModule } from './routes/routes.module';
import { SharedModule } from './shared/shared.module';
import { LayoutModule } from './layout/layout.module';
import { CoreModule } from './core/core.module';
@NgModule({
declarations: [
AppComponent,
],
imports: [
CommonModule,
LayoutModule,
RoutesModule,
SharedModule.forRoot(),
CoreModule,
BrowserModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
解决方案
您ComponentsModule
不应在应用程序的根模块 ( AppModule
) 中导入,而应在实际使用它的模块中导入。在您的情况下,PagesModule
应该导入 ComponentsModule
.
AppModule
在导入的模块中声明时(通过注入器机制),只有服务对整个应用程序可用。
推荐阅读
- python - 总结表情符号长度
- apache - 是恶意botting,如何防范?
- elasticsearch - Elasticsearch 过滤器 - AND/OR 行为
- python - 将 NaN 值替换为 1d Numpy 数组中先前的非 NaN 值
- c# - 如何在 FindAsync() 方法中使用 lambda 函数?
- android - 通过 Gmail 和 Facebook 登录时用户身份验证失败
- javascript - 为什么我在反应原生 Firebase 中成功异步调用后收到错误
- mysql - 在 MySQL 中执行数组文字的最简单方法
- python - 错误 - 在 CBC 模式下,数据必须填充到 16 字节边界
- c++ - 是否有复制存储在二维数组中的相邻像素值的算法?