Angular 1 个组件路由器查询参数
Angular 1 component router query params
我正在使用 angular 1 和新的组件路由器。
我有这样的 $routeConfig:
{ path: '/list', name: 'ListCmp', component: 'listCmp', useAsDefault: true }
我想使用自定义查询参数导航到此组件。
$router.navigate(['ListCmp', {itemId: 1, name: 'prop1'}]);
导航后我得到这个 Url: localhost/list;name=1;prop1
问题是我在很多地方使用了 $location.search(),但是这种方法无法用分号分隔值解析 url。我怎样才能让这个新路由器生成旧式查询参数,如:
localhost/list?name=1&prop1
因为ListCmp
是另一个组件的子路由,所以参数会以矩阵格式生成,而不是查询格式。您可以阅读有关矩阵参数与查询参数的更多信息 here.
它的本质意思"is that matrix parameters apply to a particular path element while query parameters apply to the request as a whole"。
关于您的问题,是否必须使用$location.search()
?您可以使用 $routerOnActivate
生命周期挂钩并访问 ListCmp
.
中的参数
我正在使用 angular 1 和新的组件路由器。 我有这样的 $routeConfig:
{ path: '/list', name: 'ListCmp', component: 'listCmp', useAsDefault: true }
我想使用自定义查询参数导航到此组件。
$router.navigate(['ListCmp', {itemId: 1, name: 'prop1'}]);
导航后我得到这个 Url: localhost/list;name=1;prop1 问题是我在很多地方使用了 $location.search(),但是这种方法无法用分号分隔值解析 url。我怎样才能让这个新路由器生成旧式查询参数,如:
localhost/list?name=1&prop1
因为ListCmp
是另一个组件的子路由,所以参数会以矩阵格式生成,而不是查询格式。您可以阅读有关矩阵参数与查询参数的更多信息 here.
它的本质意思"is that matrix parameters apply to a particular path element while query parameters apply to the request as a whole"。
关于您的问题,是否必须使用$location.search()
?您可以使用 $routerOnActivate
生命周期挂钩并访问 ListCmp
.