AngularJS路由:路由时忽略查询参数

AngularJS routing: Ignore query parameters while routing

本文关键字:路由 查询 参数 AngularJS      更新时间:2023-09-26

这应该很简单,但我在任何地方都找不到合适的解决方案。

// Routing file
    ...
    .when('/pathA', templateA)
    .when('/pathB', templateB)
    .otherwise({ redirectTo: '/lollz' });

两个路径都有一组可选的查询参数。页面在没有参数的情况下工作,但每次我传递参数时,路由器都会降落在页面/lollz上。如何让路由器忽略查询参数,只关注子路径?

问题出在其他地方,我犯了将查询参数传递给$location.path的错误,比如:

$location.path('/pathA?param1=aaa'); // which kept getting encoded into /pathA%3Fparams1=aaa

一旦我开始在链式search中传递查询参数,问题就消失了:

$location.path('/pathA').search({params1:'aaa'});