2017-06-01 13 views
0

他の複数のコンポーネントで共有するコンポーネントを作成しました。私は共通のコンポーネントをModule Aに宣言しました。うまくいきました。私はモジュールBに行って同じことをしました。私はこのエラーを受けました。角2の共有コンポーネントエラー

タイプPagerComponentは、ModuleAとModuleBの2つのモジュールの宣言の一部です! PagerComponentをModuleAとModuleBをインポートする上位モジュールに移動することを検討してください。また、PagerComponentをエクスポートして含む新しいNgModuleを作成し、そのNgModuleをModuleAおよびModuleBにインポートすることもできます。

私はページャモジュール(NgModule)を作成しました。

import { NgModule } from '@angular/core'; 
import { PagerComponent } from '../shared/pager.component'; 

@NgModule({ 
    imports: [ 
     PagerComponent 
    ] 
}) 
export class PagerModule {} 

私はその後、私はエラーを取得するModuleAし、モジュールBにこの新しいモジュールをインポート:

Uncaught Error: Unexpected value 'undefined' imported by the module 'PagerModule' 

このエラーが間違っているものを私に言っていません。何か案は?

答えて

1

あなたのNgModule宣言の問題を参照してください。 NgModule構造のおかげで、NgModuleのものをimportsフィールドに渡すことはできません。あなたの場合、PagerComponentdeclarationsexportsのフィールドに渡す必要があります。 declarations

あなたは、明らかに、あなたの部品、パイプやディレクティブを宣言。また、あなたは、例えば、ターゲットモジュール内の他のコンポーネントのためにそれらを「見える」ようにするために

exportsセクションにそれらを渡す必要があります

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import { PagerComponent } from '../shared/pager.component'; 

@NgModule({ 
    imports: [ CommonModule ], 
    declarations: [ PagerComponent ], 
    exports: [ PagerComponent ] 
}) 
export class PagerModule {} 
関連する問題