Routing AngularJS-如何更改一个routeParam和重定向?

Routing AngularJS-如何更改一个routeParam和重定向?,routing,angularjs,Routing,Angularjs,我有一条路线是这样的: /Route/:Param1/:Param2/:Param3 $routeParams.Param2 = "Waffles"; $location.path($route); 在我的控制器中,我想修改其中一条路由,然后重定向到该路由。如果我的路线是这样的: /Breakfast/:Eggs/:Bacon/:Cereal 我想轻松地转到: /Breakfast/:Eggs/:Waffles/:Cereal 无需手动重建路线。有没有一种方法可以让我这样做: /Rout

我有一条路线是这样的:

/Route/:Param1/:Param2/:Param3
$routeParams.Param2 = "Waffles";
$location.path($route);
在我的控制器中,我想修改其中一条路由,然后重定向到该路由。如果我的路线是这样的:

/Breakfast/:Eggs/:Bacon/:Cereal
我想轻松地转到:

/Breakfast/:Eggs/:Waffles/:Cereal
无需手动重建路线。有没有一种方法可以让我这样做:

/Route/:Param1/:Param2/:Param3
$routeParams.Param2 = "Waffles";
$location.path($route);

实际上,在我上面的评论之后,这里是一个工作示例:。当然,服务代码需要一些检查,但它的工作方式与现在一样。

AFAIK,core AngularJS没有此功能。不过,您可以编写带有回调的简单regexp,该回调将用值替换:占位符,将结果馈送到$location.path(),并将所有这些内容包装到服务中。另外,你也可以尝试一下——对你的任务来说有点过分了,但是里面有很多有趣的东西。但这将要求您实质性地更改代码。