2017-01-14 4 views
2

私は自分のウェブサイトを再設計するために角度2を学ぼうとしますが、ナビゲーションバーのクリックで適切なルートに入るとアプリケーションにコンポーネントがロードされません。私navbar.htmlでルーターアウトレットが私のコンポーネントを動作していません

私は2のリンクがあります。

 <li><a [routerLink]="['Home']"><i class="fa fa-home"></i></a></li> 
     <li><a [routerLink]="['Langages']">Langages</a></li> 

を、私は@RouteConfigの私app.component.tsで私のルートを宣言:

{path: '/', name: 'Home', component: HomeComponent, useAsDefault: true}, 
    {path: '/langages', name: 'Langages', component: LangagesComponent}, 

と私のapp.componentで.ts私はナビゲーションバーを表示するテンプレートを持っています。私は私のHomeComponentを見るためのタグを追加し、ページを切り替えると、私はLangagesComponentを参照してHomeComponentを参照していません...今のところ、私はHomeComponentと他のコンポーネント。

P.S:私のLangagesComponentに私が持っている:

import {Component} from "angular2/core"; 

@Component({ 
    templateUrl: "./dev/langages/langages.html" 
}) 

export class LangagesComponent {} 

あなたの助けをいただき、ありがとうございます。ルート設定で

答えて

1

ルートでnameがサポートされていない(それが1/2以上年前に削除された)

<li><a [routerLink]="['/']"><i class="fa fa-home"></i></a></li> 
<li><a [routerLink]="['/langages']">Langages</a></li> 
{path: '', component: HomeComponent, pathMatch: 'full'}, 
{path: 'langages', component: LangagesComponent}, 

pathは大手/を含めることはできません。 routerLinkまたはrouter.navigateByUrl()の先頭の/は絶対パスを示し、/のないパスは相対パスとみなされます。

参照https://angular.io/docs/ts/latest/guide/router.htmlは詳細については(あなたがダート代わりのTSを使用する場合を除いて)もうありません@RouteConfig

もあります。

+0

私はこのチュートリアルで角度2を学ぶ:私は、URLの変更を持っていると私はに行く場合、私は私のコンポーネントをロードしていない/のでhttps://www.youtube.com/watch?v=fyfY5aqbLNI&list=PL55RiY5tL51olfU2IEqr455EYLkrhmh3n&index=2 langagesまたは私のコンポーネントHomeComponent in "/" – ryfl

+0

これは2016年1月に発行されました。これはベータ1回目ですhttps://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta1-catamorphic- involution-2016-01-08その後変更された内容を確認してください。 –

1

nameおよびuseAsDefault(not sure)は、長く前に除去された。 今、あなたは、次のようにセットアップあなたのルートを、

{ path: '', redirectTo: 'home', pathMatch: 'full'}, 
{ path: "home", component: HomeComponent},  
{ path: 'language', component: LangagesComponent }, 

.HTML

<li><a routerLink="home"><i class="fa fa-home"></i></a></li> 
<li><a routerLink="language">Langages</a></li> 

が注必要があります:また、あなたは、HTML内のルータを使用してダイナミックビューをロードするためにどこかに置いルータ・コンセントを持っていることを確認してください。

関連する問題