在Angular 2路由中可以有一个可选的路由参数吗?我在RouteConfig中尝试了Angular 1.x语法,但收到以下错误:
“原始异常:路径”/用户/:id?“包含"?”,这在路由配置中是不允许的。“
@RouteConfig([
{
path: '/user/:id?',
component: User,
as: 'User'
}])
发布于 2015-12-21 22:51:03
您可以定义多个带参数和不带参数的路由:
@RouteConfig([
{ path: '/user/:id', component: User, name: 'User' },
{ path: '/user', component: User, name: 'Usernew' }
])
并处理组件中的可选参数:
constructor(params: RouteParams) {
var paramId = params.get("id");
if (paramId) {
...
}
}
另请参阅相关的github问题:https://github.com/angular/angular/issues/3525
发布于 2018-03-08 02:44:50
{path: 'users', redirectTo: 'users/', pathMatch: 'full'},
{path: 'users/:userId', component: UserComponent}
这样,在添加参数时不会重新呈现组件。
发布于 2016-02-24 22:39:19
当信息是可选的时,建议使用查询参数。
路由参数还是查询参数?
没有硬性规定。总体而言,
在以下情况下首选路由参数
在以下情况下首选查询参数
值为optional.
时,值为
来自https://angular.io/guide/router#optional-route-parameters
您只需要从路由路径中取出参数即可。
@RouteConfig([
{
path: '/user/',
component: User,
as: 'User'
}])
https://stackoverflow.com/questions/34208745
复制相似问题