2016-10-14 9 views
0

私のAngularアプリでは、入力フォームを持つビューと編集ビューがあります。 問題がある:円:window.history.back()とlocation.back()

私は予想通りたら、それが正常に動作しますAngular2で、ブラウザの戻るボタン、window.history.back()または同等location.back()を使用している場合。

しかし、ブラウザの戻るボタン、window.history.back()またはそれに相当するlocation.back()を連続して(2回)起動すると、最初のサイトに戻るという意味の円が始まります。

同じ部位を持つもう一つの奇妙な動作は以下のとおりです。私は、通常の this.router.navigate([「/編集」])でビューを編集するために行くビューから

  1. location.back()私は、通常の this.router.navigate([「/編集」])で編集ビューに再度行く
  2. を表示するために戻ります。
  3. 今私は3回 location.back()をトリガーして表示に戻る必要があります。

履歴が破損しているようです。

誰でも問題が何であるか考えている人はいませんか。それはフォームと相関する可能性がありますか?

答えて

1

を複数回インポートしないでください。

輸出のconstルーティング:ModuleWithProviders = RouterModule.forRoot(ルート)

0

私はRC4から最終的に移行しながら、同じ問題に遭遇し、ここに私のために働いたものです。 previous answerに記載されているように、RouterModule.forRoot()メソッドを使用して、メインアプリケーションモジュールに属するルートを1回だけエクスポートする必要があります。

export const routing: ModuleWithProviders = RouterModule.forRoot(MainModuleRoutes);

あなたは自分のルートを持っているあなたのメインのアプリモジュールにインポート子モジュールを持っている場合しかし、あなたは)(RouterModule.forChildと子ルートとしてそれらをエクスポートする必要があります。

export const routing: ModuleWithProviders = RouterModule.forChild(ChildModuleRoutes);

関連する問題