2016-05-31 18 views
0

私はこのルーティングの概念を頭に入れていますが、どのように動作しているのか理解できません。角度2のルーティングがルータのアウトレットに注入されない

現在、私は '/'パスでコンポーネントをロードする@ルートを持っています。これは、ページがレンダリングされるとすぐにロードされます。私が問題を抱えているのは、htmlテンプレートに[routerLink]が存在する場合、私のコンポーネントはロードのみです。

@Component({ 
    selector: 'my-app', 
    template: `  
    <h1>Component Router</h1> 
    <nav> 
     <a [routerLink]="['/crisis-center']">Crisis Center</a> 
     <a [routerLink]="['/heroes']">Heroes</a> 
    </nav> 
    <router-outlet></router-outlet>`, 
    directives: [ROUTER_DIRECTIVES] 

}) 

@Routes([ 
    {path: '/', component: CoreComponent} 
]) 

***core.component** 

import {Component} from '@angular/core'; 
import { Routes , RouterOutletMap} from '@angular/router'; 
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from '@angular/router-deprecated'; 

import { SideBarComponent} from './sidebar/sidebar.component'; 


@Component({ 
    template: `<side-bar></side-bar> 
    <router-outlet></router-outlet>`, 
    directives: [SideBarComponent] 

}) 

export class CoreComponent{ 

} 

答えて

2

これは修正される予定の新しいルータの既知の問題です。 routerLinkがない場合、ルータインスタンスはまったく作成されません。また、ルータをルートコンポーネントに挿入することもできます。

+0

すぐにお返事ありがとうございます。あなたはAppComponentに "Router"を注入するために他のスレッドで言及しました。 「ルータのすべてのパラメータを解決できません」というエラーが発生しましたか? – user1964663

+0

'@ angle/router-deprecated'; 'から' @ angle/router '; '** and **' import {RouteConfig、ROUTER_DIRECTIVES、ROUTER_PROVIDERS}から 'import {Routes、RouterOutletMap}からインポートしています。あなたはそのうちの1つだけを決定する必要があります。これらの2つは互換性がありません。 –

+0

@ angular/routerを使用してエラーが発生しました。また、@ angular/router-deprecateを使用して試してみました。私はあなたがどんなバージョンであるか不思議です。私は現在、 "@ angle/core": "2.0.0-rc.1"を使用しています。 – user1964663

関連する問題