我的组件ListingComponent使用名为MemberCountryFilter的组件。我有这个模块,一切正常。
@NgModule({
imports: [CommonModule, RouterModule, FormsModule, ReactiveFormsModule],
declarations: [ListingComponent, MemberCountryFilter],
exports: [ListingComponent,MemberCountryFilter,],
providers: []
})
export class ListingComponent { }
我意识到另一个模块很快就会需要MemberCountryFilter组件,所以我重构了。我为MemberCountryFilter组件创建了这个模块,我想将它导入到其他模块中。
@NgModule({
imports: [],
declarations: [MemberCountryFilter],
exports: [MemberCountryFilter],
providers: []
})
export class FilterModule { }
我将原始模块更改为:
@NgModule({
imports: [CommonModule, RouterModule, FormsModule, ReactiveFormsModule, FilterModule],
declarations: [ListingComponent],
exports: [ListingComponent, FilterModule,],
providers: []
})
export class ListingComponent { }
执行此操作后,我得到模糊的模板解析错误,如下所示:
zone.js:355未处理的承诺拒绝:模板解析错误:不能 绑定到'ngForOf',因为它不是'ul'的已知属性。 (“] * ngFor =”让selectMemberCountries的smc“>
看来,ListingComponent不知道MemberCountryFilter是什么。显然,我对模块有些不了解。我已经阅读了文档,我认为我正确地做到了。
FilterModule中的导出应该使MemberCountryFilter可用。然后我在ListingSharedModule中导入它,并导出它,使其可用于ListingComponent。
对于基本概述,我将MemberCountryFilter作为声明(带导出)并且它有效。我将它移动到另一个模块,然后导入和导出该模块,但它不起作用。
我错过了什么?
答案 0 :(得分:1)
之前我遇到过类似的错误,发生在我身上的是我在import { CommonModule } from '@angular/core'
文件中遗漏了*.module.ts
,
对于FilterModule
,请尝试以下操作:
import { CommonModule } from '@angular/core';
@NgModule({
imports: [CommonModule],
declarations: [MemberCountryFilter],
exports: [MemberCountryFilter],
providers: []
})
export class FilterModule { }