import { Component} from '@angular/core';
import {Router} from '@angular/router';
@Component({
selector: 'my-app',
template: `
`
})
export class AppComponent {
constructor(private router: Router){}
goHome(){
this.router.navigate(['']);
}
}
Через конструктор получаем объект Router и в обработчике кнопки вызываем его метод navigate(). В этот метод передается путь перехода. Если мы переходим на главную страницу, которая представлена HomeComponent, то передается пустая строка. Чтобы перейти, допустим, к компоненту AboutComponent, можно было бы передать соответствующий путь: this.router.navigate(['/about']);
====Параметры маршрута и строки запроса====
Изменим компонент AppComponent, добавив форму для ввода параметров:
import { Component} from '@angular/core';
import { Router} from '@angular/router';
export class Item{
id: number;
product: string;
price: number;
}
@Component({
selector: 'my-app',
template: `
Параметры объекта
`
})
export class AppComponent {
item: Item=new Item();
constructor(private router: Router){}
goToItem(myItem: Item){
this.router.navigate(
['/item', myItem.id],
{
queryParams:{
'product': myItem.product,
'price': myItem.price
}
}
);
}
}
Для передачи компоненту ItemComponent нужных параметров в метод navigate() первого параметра передается набор значений, первое из которых - собственно путь, а все последующие - значения для параметров маршрута. Второй параметр представляет объект javascript, который содержит все нужные значения для параметров строки запроса:\\
\\
{{ :angular:angular2:routing:7.8.png |}}