如何将参数传递到Angular2组件
我有一个组件,用于呈现从后端检索的数据。在渲染之前,需要根据参数过滤数据。URL的最后一段是筛选值,如何将其传递到组件中?您可以在组件的构造函数中使用路由参数如何将参数传递到Angular2组件,angular,Angular,我有一个组件,用于呈现从后端检索的数据。在渲染之前,需要根据参数过滤数据。URL的最后一段是筛选值,如何将其传递到组件中?您可以在组件的构造函数中使用路由参数 您可以在组件的构造函数中使用路由参数 首先,如果您向我们提供一个代码示例将更容易 现在,在app.routes.ts中,您应该有如下内容: { path: 'detail/:id', component: HeroDetailComponent } this.route.params.subscribe(params =
您可以在组件的构造函数中使用路由参数
首先,如果您向我们提供一个代码示例将更容易 现在,在app.routes.ts中,您应该有如下内容:
{
path: 'detail/:id',
component: HeroDetailComponent
}
this.route.params.subscribe(params => {
let id = +params['id'];
this.heroService.getHero(id)
.then(hero => this.hero = hero);
});
在本例中,现在您可以导航到detail/11
详细说明,您需要导入以下组件:
import { ActivatedRoute } from '@angular/router';
并将其作为private添加到构造函数中:
private route: ActivatedRoute
然后您可以像这样获取id参数:
{
path: 'detail/:id',
component: HeroDetailComponent
}
this.route.params.subscribe(params => {
let id = +params['id'];
this.heroService.getHero(id)
.then(hero => this.hero = hero);
});
在本例中,英雄id是一个数字。路由参数始终为字符串。因此,我们使用JavaScript(+)运算符将route参数值转换为一个数字记住这一点。
如前所述,如果您实现ngOnInit(订阅可观察的参数)和Ngondestory(销毁子对象)会更好。首先,如果您为我们提供一个代码示例会更容易 现在,在app.routes.ts中,您应该有如下内容:
{
path: 'detail/:id',
component: HeroDetailComponent
}
this.route.params.subscribe(params => {
let id = +params['id'];
this.heroService.getHero(id)
.then(hero => this.hero = hero);
});
在本例中,现在您可以导航到detail/11
详细说明,您需要导入以下组件:
import { ActivatedRoute } from '@angular/router';
并将其作为private添加到构造函数中:
private route: ActivatedRoute
然后您可以像这样获取id参数:
{
path: 'detail/:id',
component: HeroDetailComponent
}
this.route.params.subscribe(params => {
let id = +params['id'];
this.heroService.getHero(id)
.then(hero => this.hero = hero);
});
在本例中,英雄id是一个数字。路由参数始终为字符串。因此,我们使用JavaScript(+)运算符将route参数值转换为一个数字记住这一点。
如前所述,如果您实现ngOnInit(订阅可观察的参数)和Ngondestry(销毁sub)会更好。请注意,您的问题太开放了。你有一个你已经在做的代码示例吗?看看它,你的问题看起来太开放了。您是否有正在处理的代码示例?PS:RouteParams已被弃用于nowPS:RouteParams已被弃用于nowPS