【问题标题】:What should happen when clicking the back button in an angular2 routing app?在 angular2 路由应用程序中单击后退按钮时会发生什么?
【发布时间】:2018-03-05 11:54:03
【问题描述】:

我已经在我的 Web 应用程序中使用模块实现了 angular2 路由概念。一切正常。

问题是我不确定单击浏览器后退按钮会发生什么,该按钮通常会发送到上一页。在我的情况下,我看到默认情况下浏览器后退按钮将我的应用程序发送到上一个路由路径,依此类推,直到它到达初始主页。

后退按钮应该在 SPA 应用程序中以这种方式运行,还是应该将用户直接发送到主页?

【问题讨论】:

  • 我认为首先尊重用户很重要,即问问自己他对点击后退按钮有什么期望并执行逻辑行为。当然,你可以做任何你喜欢的事情,但如果它不尊重返回按钮的预期行为,不要期望用户回来(至少不是全部)。我个人避免使用路由错误的网站,因为我和许多人一样喜欢使用“后退按钮”:)
  • 你说得对,我不会以编程方式触摸我的后退按钮,只是让它做它通常做的事情,回到上一条路线......

标签: javascript angular angular2-routing


【解决方案1】:

后退按钮应该在 SPA 应用程序中以这种方式运行,还是应该将用户直接发送到主页?

您的应用程序是 SPA 的事实应该对用户透明。这是使用路由器的全部目的:SPA 的当前状态至少可以部分地从路由中读取。它还可以共享链接或将它们保存为书签。对于更高级的用法,它还支持服务器端渲染,从而为搜索引擎优化提供了可能性。

也就是说,这就是它应该的样子,也是用户可能期望的样子。您的应用程序可以为所欲为。如果您希望 返回 按钮返回主页而不是以前访问过的页面,请确保不要将任何内容推送到浏览器的历史记录中,而只需替换它即可。

但是请注意,如果用户从未登陆过主页,您就无法模仿这一点。如果她来自谷歌搜索结果,或者来自朋友通过电子邮件发送的链接,例如website.example/foo,并且她从那里导航到website.example/bar,你无法模仿返回按钮应该带她去website.example。这将是一个安全问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    相关资源
    最近更新 更多