Если вы хотите отправить статическое значение через маршрутизацию в качестве параметров, вы можете отправить через свойство data
маршрутизации в angular2, используя эти параметры, которые не отображаются в URL-адресе.
В основном есть два варианта (насколько мне известно) для отправки данных через маршрутизацию
- RouteParams (используется в вопросе)
- data(RouteData) (свойство во время маршрутизации)
Параметры маршрута
Теперь, когда мы отправляем данные с помощью RouteParams
, мы должны определить более похожим образом:
{path: '/editUser/:userId', name: 'Edit User', component: UserEditComponent}
<a href="#" [routerLink]="['Edit User',{userId: id}]"
Используя этот метод, мы отправляем данные в обычном режиме, но все данные видны в URL-адресе.
Данные
когда мы не хотим показывать данные в пути URL, мы должны отправлять данные через маршрутизацию, используя свойство data
@RouteConfig annotation
, предоставленное angualr2. с помощью этого свойства мы можем отправлять дополнительные данные компонентам во время настройки маршрута, не показывая их в URL-адресе. вот пример этого свойства.
@RouteConfig([
{path: '/product/:id', component: ProductDetailComponentParam,
as: 'ProductDetail', data: {isProd: true}}])
export class ProductDetailComponentParam {
productID: string;
constructor(params: RouteParams, data: RouteData) {
this.productID = params.get('id');
console.log('Is this prod environment', data.get('isProd'));
}
}
с помощью этого мы можем отправлять данные через маршрутизацию без отображения в URL-адресе.
Plunker - рабочий пример того же
для получения дополнительной информации прочитайте этот отличный арт
person
Pardeep Jain
schedule
17.03.2016