2016-07-22 10 views
0

私は角度2.0.0-rc3とルータ3.0.0-alpha.8を使用しています。 角型ルータ3 routerLinkが動作しません

は、私は次のテンプレートを BookListComponentを持っている:

<nav> 
    <a routerLink="/new-book">New Book</a> 
</nav> 

<ul> 
    <li *ngFor="let book of books">{{ book.name }}</li> 
</ul> 

そしてここBookListComponentそのものです:

import { Component, OnInit } from '@angular/core'; 
import { BookService } from '../book.service'; 
import { ROUTER_DIRECTIVES } from '@angular/router'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app-book-list', 
    templateUrl: 'book-list.component.html', 
    styleUrls: ['book-list.component.css'], 
    providers: [ROUTER_DIRECTIVES, BookService] 
}) 
export class BookListComponent implements OnInit { 
    books: any; 

    constructor(private bookService: BookService) {} 

    ngOnInit() { 
    this.bookService.getList() 
     .subscribe(response => this.books = response.json()); 
    } 

} 

だけでなく、リンクが訪問した場合、/new-bookルート(に私を取ることはありません。 "手動で"正常に動作します)、 "リンク"もリンクではない - それは黒いテキストです。

どのようにリンクを動作させることができますか?

+0

'' New Book試してみる価値があるかもしれません。私は文字列パラメータでrouterLinkに関するバグレポートを見ました。いずれにしても、ルータベータ2へのアップデート。 –

答えて

2

私はprovidersROUTER_DIRECTIVESを持っているが、それはdirectives下にする必要:

<router-outlet></router-outlet>

私はリファレンスとしてこれを使用します。 directivesに移動すると問題が解決しました。

は、ここに私の新しいBookListComponentです:

import { Component, OnInit } from '@angular/core'; 
import { BookService } from '../book.service'; 
import { ROUTER_DIRECTIVES } from '@angular/router'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app-book-list', 
    templateUrl: 'book-list.component.html', 
    styleUrls: ['book-list.component.css'], 
    providers: [BookService], 
    directives: [ROUTER_DIRECTIVES] 
}) 
export class BookListComponent implements OnInit { 
    books: any; 

    constructor(private bookService: BookService) {} 

    ngOnInit() { 
    this.bookService.getList() 
     .subscribe(response => this.books = response.json()); 
    } 

} 
0

ルーターアウトレットタグがホストのビューHTMLにないことを確認してください。
https://angular.io/docs/ts/latest/guide/router.html

+0

残念ながら、それはうまくいきませんでした。私は 'AppComponent'のテンプレートに既に' 'を持っています。私のリンクが変更されていない同じテンプレートにもう1つ追加する –

関連する問題