2017-08-23 4 views
1

この共有コンポーネントは複数回使用されています。最初のエラーが発生していました。次に、それを上位レベルのコンポーネントにインポートする方法をオンラインで検索し、2番目のエラーが発生しました。 「缶」、「2つのモジュールの宣言の一部です」から「 'a'の既知のプロパティではないため、 'routerLink'にバインドできません」

child-1.module.ts

@NgModule({ 
    imports: [ 
     [...] 
    ], 
    declarations: [ 
     [...] 
     SharedComponent 
    ] 
}) 

child-2.module.ts

@NgModule({ 
    imports: [ 
     [...] 
    ], 
    declarations: [ 
     [...] 
     SharedComponent 
    ] 
}) 

2番目のエラー:


最初のエラーは、 "2つのモジュールの宣言の一部です" 〜に縛る

child-1.module.ts

@NgModule({ 
    imports: [ 
     SharedModule 
    ], 
    declarations: [ 
     [...] 
    ] 
}) 

child-2.module.ts

@NgModule({ 
    imports: [ 
     SharedModule 
    ], 
    declarations: [ 
     [...] 
    ] 
}) 

shared.module.ts

import { NgModule } from '@angular/core'; 

import { SharedComponent } from './shared.component'; 

@NgModule({ 
    imports: [], 
    exports: [SharedComponent], 
    declarations: [SharedComponent], 
    providers: [] 
}) 
export class SharedModule {} 

答えて

1

あなたが持つことはできません: 'A'、「既知のプロパティではありませんので、 'routerLink' 2つのモジュールののSharedComponent
declarations正確にはを追加し、exportsに追加し、コンポーネントを含むモジュールをimportsに追加して、共有コンポーネントも使用します。

ルータディレクティブを使用するコンポーネントを含むすべてのモジュールのRouterModuleimportsを追加する必要があります。

+1

私は、再利用可能なものが必要な場合は、そのモジュール/コンポーネントで使用されているすべてのものをインポートしなければなりませんでした。 –

+0

詳しい情報が必要な場合は、こちらをご覧いただけるYouTube動画があります:https://www.youtube.com/watch?v=ntJ-P-Cvo7o&t=1s – DeborahK

関連する問題