AngularJS使用$ location更改网址

时间:2014-07-21 19:27:35

标签: angularjs url location

我正在尝试使用AngularJS更改网址, 但不是重定向,只需更改URL即可 事件发生后。

我需要的是:

www.myurl.com/inbox/1到此www.myurl.com/inbox/25

换句话说,只需更改最后一个ID。

我正在尝试这样做:

$location.path('/inbox/'+id);

但我得到的是:

www.myurl.com/inbox/1#/inbox/25

3 个答案:

答案 0 :(得分:16)

Angular强制执行一个页面Web应用程序的想法。在#'#'之后,浏览器不会采取任何行动来改变任何事情。值。所以最好的做法是在#'#'之后在url中添加变量属性。这个值可以使基本网址和属性在浏览器的地址栏中保持干净,并解决您的问题。我的建议是保留用户名,第页。 ,或者'#'之后的任何特定属性ID值。 在你的情况下,你应该使用上面所说的

www.myUrl.com /#/收件箱/ 25

www.myUrl.com/inbox /#/ 25

答案 1 :(得分:15)

通常角度网址看起来像

www.myurl.com/#/inbox/1

在这种情况下

$location.url('/inbox/25');

应该适合你

答案 2 :(得分:0)

为此,您应该使用.url()而不是.path()

$location.url(`/inbox/${id}`)