AngularJS 用 $location 改变 url
Posted
技术标签:
【中文标题】AngularJS 用 $location 改变 url【英文标题】:AngularJS change url with $location 【发布时间】: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
【问题讨论】:
看这里:***.com/questions/16002984/… 我不想重定向 这是我可以用我们的应用程序做的最好的事情:***.com/questions/22940106/… docs.angularjs.org/guide/$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`)
【讨论】:
以上是关于AngularJS 用 $location 改变 url的主要内容,如果未能解决你的问题,请参考以下文章