我已经在我的Web应用程序中使用模块实现了angular2路由概念。一切正常。
问题是我不确定在点击正常发送到上一页的浏览器后退按钮时会发生什么。在我的情况下,我看到默认情况下,浏览器后退按钮将我的应用程序发送到上一个路由路径,依此类推,直到它到达初始主页。
后退按钮应该在SPA应用程序中以这种方式运行,还是应该直接将用户发送到主页?
答案 0 :(得分:1)
后退按钮应该在SPA应用程序中以这种方式运行,还是应该直接将用户发送到主页?
您的应用程序是SPA的事实应该对用户透明。这是使用路由器的全部目的:可以至少部分地从路由中读取SPA的当前状态。它还可以共享链接或将其保存为书签。对于更高级的用法,它还支持服务器端呈现,从而可以实现搜索引擎优化。
也就是说,这就是应该的样子以及用户可能期望的内容。您的应用程序可以无论喜欢什么。如果您希望返回按钮转到主页而不是之前访问过的页面,请确保您没有将任何内容推送到浏览器的历史记录中,而只是替换它。
但请注意,如果用户从未登陆主页,则无法模仿。如果她来自Google搜索结果,或来自朋友通过电子邮件发送的链接,例如website.example/foo
,并且她从那里导航到website.example/bar
,则您无法模仿后退按钮应该将她带到website.example
。这将是一个安全问题。