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.

中的参数