如何重定向或更新网址?我找不到任何关于此的好文件。基本上,我想要做的是动态更改$ routeParams并使用新值更新url。
我的代码如下所示:
if ($routeParams.time) {
var url;
$routeParams.time = encodeURIComponent(value);
url = '/' + $routeParams.time + '/' + 'marketing/networks';
$location.path(url);
} else {
$routeParams.time = encodeURIComponent(value);
url = '/' + $routeParams.time + $location.path();
$location.path(url);
}
答案 0 :(得分:23)
在阅读了我的回答评论之后,我想对于这个案例可能不是正确的答案。在使用此解决方案之前,请阅读评论和其他答案。我不再使用Angular,所以我觉得没有资格回答。
我在下面未修改原始答案:
您正在正确地更改位置,但AngularJS没有意识到它已经改变了。 您可以使用范围'$ apply'解决问题,如下所示:
$location.path( url );
$scope.$apply();
或者像这样:
$scope.$apply( $location.path( url ) );
请参阅$ apply documentation here http://docs.angularjs.org/api/ng.$rootScope.Scope
答案 1 :(得分:3)
您可能希望尝试使用原生浏览器对象$window.location.href
,而不是http://docs.angularjs.org/guide/dev_guide.services.$location(在Caveats
部分中)。
答案 2 :(得分:2)
你应该使用https://angular-ui.github.io/
UI-路由器
使用时你可以做...
state.go(" route-name",{id:4});
比内置路由服务
好得多投票最多的答案令人担忧!