2017-02-08 4 views
2

//編集2:角度4では、これが修正されたようです。現在のところ、名前のないアウトレットの名前付きアウトレットを定義することができます。コンポーネントをロードするために名前付きコンセントが見つかりません

// EDIT: @Michelangeloが指摘しているように、これは角型ルータに関連する「設計上の選択」/バグのようです。回避策として、現在のユーザーとuser-listにuser-edit.componentを動的に注入しています。
詳細については、https://angular.io/docs/ts/latest/cookbook/dynamic-component-loader.htmlを参照してください。


私は次のセットアップを持っている:

{ 
     path: 'admin', 
     canActivate: [ AuthGuard, PermissionGuard ], 
     children: [ 
      { 
       path: '', 
       component: UserListComponent, 
       resolve: { 
        users: UsersResolver 
       } 
      }, 
      { 
       path: ':id', 
       component: UserEditComponent, 
       outlet: 'admin' 
      } 
     ] 
    } 

出口は次のようになります。

<router-outlet name="admin"></router-outlet> 

そして私はと移動しよう:私がしようとした場合

this.router.navigate(['/admin', {outlets: {'admin': [user.id]}}]); 

コンセントを指定せずにそのルートに移動し、それはうまく動作します。しかし、名前を付けられたルータのアウトレットを使用しようとするとすぐに、それは壊れます。

Error: Cannot find the outlet admin to load 'UserEditComponent' 

答えて

1
問題について

[OK]を、本当に答えが、私は同じ問題に直面し、 私はこの問題が原因の名前付きコンセントのために行っていないことになりました。あなたがこの問題を抱える唯一のWebではないWebを検索する場合。

角度2のルーティングはまだAngularJS 1.xの

に良い仕事に使用される基本的なものを修正するために持っているように見えます

私がしたことは、アプリから要素を表示したり隠したりすることでした私の答えはここにあります:https://stackoverflow.com/a/41684866/4194436

+0

"[..]変更が必要です。"回避策は、私の既存のコードを壊す可能性があります。あなたのアプローチを共有してくれてありがとう! – Lelsoos

関連する問題