我正在使用AngularJS构建一个网站,并且在我正在尝试实施的场景中存在路由问题。 我正在尝试更改浏览器网址,并阻止AngularJS重定向到新的给定网址。这是场景:
用户从网址的页面中选择一个项目: www.mywebsite.com/my-page
所选项目在当前页面上作为模式打开,但网址为www.mywebsite.com/specific-page/item-name (此网址更改不应导致页面刷新,只是直观地更改网址)
当用户点击“后退”或关闭模态时,他应该回到: www.mywebsite.com/my-page (同样,此网址更改不应导致页面刷新,只是直观地更改网址)
可以在Pinterest网站上找到我正在尝试做的很好的参考。当用户单击某个项目时,会打开一个模式,更改URL,但不会刷新页面。当用户关闭模态并返回主页面时也会发生相同的情况。
实施此方案的最佳方法是什么?
感谢。
答案 0 :(得分:0)
我使用ui-router
来做这类事情。
它比标准angular-route
/ ngRoute
答案 1 :(得分:0)
如果您使用的是modal
,那么Angular Directives for Bootstrap是最佳方法。
它也可以帮助我做其他事情。
答案 2 :(得分:-1)
好的,我找到了未记录的AngularJS $浏览器对象。 它有$ browser.url方法,只更改浏览器的URL而不真正重定向页面。
https://github.com/angular/angular.js/blob/master/src/ng/browser.js