私はangular2の経路指定に問題があります
私のサービスではネストされたルートを作りたいと思っています。コンポーネント "CompnentName"に経路設定がありません
@Component({
selector : "app",
directives : [ROUTER_DIRECTIVES],
template : `
<router-outlet></router-outlet>
`
})
@RouteConfig([
{path: "/**", redirectTo: ['/User', {userId:0}, 'Main']},
{path: "https://stackoverflow.com/users/:userId/...", component: User, name: "User", useAsDefault:true},
{path: "/main", component: Main, name: "Main"}
])
このアプリをブートストラップされapp.tsで私のコードです。
以下はuser.tsにユーザーコンポーネントが含まれています。私が作りたい
@Component({
selector : "user",
directives : [ROUTER_DIRECTIVES, NavBar, UserInfo, Main, Feeds, Notebook],
template : `
<div class="dotebook-main">
<nav-bar></nav-bar>
<div class="dotebook-view">
<div class="dotebook-body">
<router-outlet></router-outlet>
</div>
<div class="dotebook-user">
<user-info [user]="user"></user-info>
</div>
</div>
</div>
`
})
export class User{
constructor(){
}
}
@RouteConfig([
{path: "/", redirectTo : ['Main']},
{path: "/main", component: Main, name: 'Main', useAsDefault: true},
{path: "/feeds", component: Feeds, name: "Feeds"},
{path: "/notebook/:notebookId", component: Notebook, name: "Notebook"}
])
'/ユーザー/:userIdを' すべての時間rootになるために、
と私が欲しい '/ユーザー/:ユーザーID /メインのデフォルトページであることが。 「:ユーザーID /メイン/ユーザー/」または:ように「/ユーザー/ユーザーID /フィード」と
ユーザーコンポーネントは
のような子どもたちのルートを持っている必要があります。
だから、app.tsのUserコンポーネントの最後に「/ ...」を追加しました。
ただし、この時点で問題が発生しました。最初の時点で、
私は「redirectTo」を使用する必要があります:私は、ルーティングと思い
は、「メイン」
は、「ユーザーID /メインユーザーは/」行くためにユーザーをするために、ユーザーのコンポーネントで行われたがされなければなりませんapp.tsのルート設定。
となりました。コンポーネント「ユーザー」にはこれに関するルート設定エラーがありません。
私が作成したURL階層の違反だと思います。
私はイベントを推測できません。
誰もこれに似た問題を抱えていますか?
助けてください!
ありがとうございます!
「私のサービスではネストされたルートを作りたい」という音が奇妙に聞こえます。サービスにはルートはなく、コンポーネントのみがあります。最初のコードブロックのルートがどのコンポーネントに適用されているのか、2番目のコードブロックのルートが適用されているコンポーネントの外観(またはどのコンポーネントであるか)はわかりません。 –
ああ、私はユーザーコンポーネントが常に表示されることを意味します。ユーザーコンポーネントにはナビゲーションバーコンポーネントと別のルータコンセントがあり、移動用の「a」タグをクリックすると、ユーザーコンポーネントのルーターコンセントのみを変更したい –