2017-10-30 16 views
1

Angular 2で正常に動作していましたが、Angular 4にアップグレードしても機能しなくなりました。Angular 4でのルーティングの問題。以前のコンポーネントを破棄しません。

const appRoutes: Routes = [ 
    { path: 'Profile/:name', component: CompanyprofileComponent }, 
    { path: 'Account/Login', component: LoginComponent, pathMatch: 'full' }, 
    { path: 'admin', component: adminLayout, canActivate: [AdminGuard], canActivateChild: [AdminGuard], children: Admin_Routes }, 
    // { path: 'organization', component:orgLayout,canActivate:[OrgGuard], children:Org_Routes}, 
    { path: '', component: userLayout, canActivate: [Guard], canActivateChild: [Guard], children: User_Routes }, //, canDeactivate: [PendingChangesGuard] 
    { path: 'opr', component: OPRlayout, children: OPR_Routes }, 
]; 

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { useHash: true }); 

これは私のapp.componentファイルです:

これは私のルーティングでは、のように見える私はURLをロードする際に、

<router-outlet></router-outlet> 

http://localhost:4200/#/Itemsを言って、それが正しくコンポーネントをロードします。別のものをロードすると、実際に前のコンポーネントが破棄され、新しいコンポーネントが表示されるはずです。しかし、それはユーザーレイアウトの2つのコンポーネントを示しています。スクリーンショットの下を参照してください:

The tags

私は間違いなくこれを原因となっている恐ろしく何か間違ったことをしたかもしれないことを理解し、私はそれを見つけることができません。私はあなたが全体を投稿することなく問題を特定するのは難しいことを理解していますが(少しプロジェクトは静かですが)、私が必要とするのは、この問題をデバッグする際の参考となる点です。本当に感謝しています。もう1つ、このモジュールを削除すると、BrowserAnimationsModule、うまく動作します。しかし、私はAngular Material Animationを動作させるためにこのモジュールが本当に必要です。どんな助け?読んでくれてありがとう。

+0

がさえ、私は数日前、この問題のカップルを見つけます。あるルートから別のルートへ移動すると、コンポーネントの1つが何らかのエラー(主に関連するデータバインディング)をスローしたときに起こっていました。あなたはそれが似たようなケースであることをコンソールで確認できますか? –

+0

どこかにエラーがあるので、起こっていると言っていますか?コンソールはきれいです –

+0

ああ。それは別のものです:| –

答えて

0

元の質問を考えれば、問題の根本を分析するのに十分な情報を提供していない可能性があります。

ただし、コードでランタイムエラーが発生している可能性があります。コードでBrowserAnimationsModuleを使用すると、以前のコンポーネントを新しいコンポーネントに置き換えずに新しいコンポーネントを上に追加することができません古いもの。これは、角4のBrowserAnimationsModuleに関する既知の問題です。コードからランタイムエラーを取り除くことができ、すべてうまくいくはずです。

あなたはgithubのに問題の説明をチェックアウトすることができます:https://github.com/angular/angular/issues/19093

+0

は、犯人がデータ可能であった。はい、何らかのエラーがありました。私もそれを忘れてしまった。これは私がAngularについて読んで始めたときに私が読んだ基本的な指示の1つを思い出させる。 Angular ..とjQueryを使用しないでください:) –

関連する問題