BookDetailComponent
url にマップされたコンポーネントがあり/books/:id
ます。Book
angular 2ルーターで、指定id
されたがサーバーから取得された後にのみこのコンポーネントが開かれるようにする方法はありますか?
Angular 2 ルーターでui-router resolve のような同様の機能を探しています。
/*** BookComponent ***/
@RouteConfig([
{path: "/books/:id", component: BookDetailComponent, as: "BookDetail"},
])
export class BookComponent {
}
/*** BookDetailComponent ***/
export class BookDetailComponent {
book:Book;
constructor(private bookService:BookService,
private routeParams:RouteParams) {
}
ngOnInit() {
let id = this.routeParams.get("id");
this.bookService.getBook(parseInt(id))
.subscribe(book => this.book = book.json());
}
}