Angular 1组件路由器查询参数

时间:2016-05-24 14:37:22

标签: angularjs angular-component-router

我正在使用带有新组件路由器的角度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

1 个答案:

答案 0 :(得分:2)

因为ListCmp是另一个组件的子路由,所以参数将以矩阵格式生成,而不是查询格式。您可以阅读有关矩阵参数与查询参数here的更多信息。

它本质上意味着"矩阵参数适用于特定路径元素,而查询参数作为一个整体应用于请求#34;。

关于您的问题,您是否必须使用$location.search()?您可以使用$routerOnActivate生命周期挂钩并访问ListCmp中的参数。