【问题标题】:AngularJS change url with $locationAngularJS 用 $location 改变 url
【发布时间】:2014-09-12 10:21:45
【问题描述】:
我正在尝试使用 AngularJS 更改 URL,
但不是重定向,只需更改 URL
活动之后。
我需要的是这个:
www.myurl.com/inbox/1 给这个www.myurl.com/inbox/25
也就是说,只需更改最后一个 Id。
我正在尝试这样做:
$location.path('/inbox/'+id);
但我得到的是:
www.myurl.com/inbox/1#/inbox/25
【问题讨论】:
标签:
angularjs
url
location
【解决方案1】:
Angular 强制执行一页 Web 应用程序的想法。浏览器不会对 '#' 值之后的任何内容进行任何更改。所以最好的做法是在 '#' 值之后的 url 中添加变量属性,这将保持基本 url 和属性在浏览器的地址栏上看起来干净,并解决您的问题。我的建议是保留用户名,页码。 ,或“#”值之后的任何特定属性 id。
在你的情况下,你应该使用上面所说的东西
www.myUrl.com/#/inbox/25
或
www.myUrl.com/inbox/#/25
【解决方案2】:
通常有角度的 URL 看起来像
www.myurl.com/#/inbox/1
在这种情况下
$location.url('/inbox/25');
应该适合你
【解决方案3】:
为此,您应该使用 .url() 而不是 .path()
$location.url(`/inbox/${id}`)