2017-05-23 12 views
1

複数のモジュールで使用されているコンポーネントを共有モジュールに統合することで、アプリケーションの冗長コードを削減しようとしています。私はAngular Postに従っていた、https://angular.io/docs/ts/latest/guide/ngmodule.html#!#shared-module。記載された変更を加えると、アプリケーションがハングするため、私は一歩足りません。角2共有モジュールを使用したコンポーネントの再利用

私は、変更が行われた後、2つのプランカを作成しました.1つは共有モジュールなし、もう1つはプランカです。初期コードはこのリンクで見つけることができます。 https://plnkr.co/edit/VrEe5S54rEkKipuGLsQs?p=info

次に、以下の変更を行いました。

  1. 更新app.module.ts

    SharedModuleする共有モジュール(以下のコードを参照してください)

  2. 追加PageNotFoundComponentを作成しました。フォームモジュールをコメントアウト

    b。コメントアウトされましたPageNotFoundComponent

    c。輸入SharedModule

  3. 更新アプリ-routing.module.ts

    。 PageNotFoundComponent

    私は、単純な共有モジュールにあまりにも多くの成分を添加しないことで、それが使用されている可能性があること、どこでも共有モジュールを使用しないことにより、それを維持しようとした

注意をコメントアウト。

これらの変更を加えたPlunkerは、このリンクで見つけることができます。次のようにhttps://plnkr.co/edit/I4ArEQTniO7MJtfzpBWl?p=info

共有モジュールのコードは次のとおりです。

import { NgModule }   from '@angular/core'; 
import { CommonModule }  from '@angular/common'; 
import { FormsModule }   from '@angular/forms'; 

import { PageNotFoundComponent }  from './not-found.component'; 

@NgModule({ 
    imports:  [ CommonModule, 
        FormsModule], 
    declarations: [ PageNotFoundComponent 
        ], 
    exports:  [ PageNotFoundComponent, 
        CommonModule, 
        FormsModule ] 
}) 
export class SharedModule { } 

は、私が行方不明ですか私が間違っているのはどのような手順何上の任意の考えを感謝しています。

答えて

1

エラーは次のとおりです。

Error loading https://run.plnkr.co/5Q7FuGzCTzE1DQOa/app/shared/not- 
found.component.ts as "./not-found.component" from 
https://run.plnkr.co/5Q7FuGzCTzE1DQOa/app/shared/shared.module.ts 

のでshared.module.tsは、「アプリ/共有」フォルダにあるが、同じディレクトリからではない-found.componentをロードしようとしています。

あなたのプランナーを見ると、not-found.componentは 'app'フォルダにあります。

私はあなたが 'app/shared'フォルダに見つからないコンポーネントを移動する必要があると思います。

+0

良いキャッチ。私はshared.moduleに変更を加えてnot-found.componentの1つのディレクトリを見つけ出し、 '../not-found.component'から{PageNotFoundComponent}をインポートします。まだ動作していません。 –

+0

それは動作していなかったので、not found.component.tsというファイルを共有フォルダに移動しましたが、まだ動作していません。 –

+0

私は答えを見つけたとは言いませんが、私が試した多くの組み合わせに基づいて、私は2つの事のうちの1つを終わらせます。自分の状況で共有コンポーネントを使用できないバグがあるか、共有コンポーネントの使用制限に遭遇しました。私の状況では、私が共有しているコンポーネントは、モジュールが遅延ロードされているか選択的にプリロードされているルートモジュール内から呼び出されます。他の人が同じような状況で同じ問題を経験したことと、これを回避するために何が行われたか聞いてみたいと思う。 –

関連する問題