У меня есть компонент BookDetailComponent
, который отображается для URL-адреса /books/:id
. Есть ли способ в угловом 2 маршрутизаторе, чтобы убедиться, что этот компонент открыт только после того, как Book
с заданным id
извлекается с сервера?Угловой 2 маршрутизатор разрешает запрос сервера перед открытием компонента
Я ищу аналогичные функции, такие как ui-router resolve в Угловом 2 роутере.
/*** 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());
}
}
Спасибо. Есть ли способ, который мы можем разрешить для «Наблюдаемого»? – TheKojuEffect
В документации ничего не сказано об этом, но вы можете проверить его или вы можете вызвать метод .toPromise() наблюдаемого. – Langley
Эй, знаете ли вы, что разрешенное значение может быть введено в компонент? – TheKojuEffect