我正在使用带有新组件路由器的角度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
答案 0 :(得分:2)
因为ListCmp
是另一个组件的子路由,所以参数将以矩阵格式生成,而不是查询格式。您可以阅读有关矩阵参数与查询参数here的更多信息。
它本质上意味着"矩阵参数适用于特定路径元素,而查询参数作为一个整体应用于请求#34;。
关于您的问题,您是否必须使用$location.search()
?您可以使用$routerOnActivate
生命周期挂钩并访问ListCmp
中的参数。