2

私のコンポーネント 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 未処理の Promise 拒否: テンプレート解析エラー: 'ul' の既知のプロパティではないため、'ngForOf' にバインドできません。("]*ngFor="selectedMemberCountries の smc を許可します">

ListingComponent は MemberCountryFilter が何であるかを認識していないようです。明らかに、モジュールについて理解できないことがあります。私はドキュメントを読みましたが、正しくやっていると思います。

FilterModule でのエクスポートにより、MemberCountryFilter が使用可能になります。次に、それを ListingSharedModule にインポートし、エクスポートして ListingComponent で使用できるようにします。

基本的な概要については、MemberCountryFilter を宣言として (エクスポートを使用して) 使用したところ、機能しました。それを別のモジュールに移動し、そのモジュールをインポートおよびエクスポートしましたが、機能しません。

私は何が欠けていますか?

4

1 に答える 1

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 { }
于 2016-11-10T21:22:31.587 に答える