【问题标题】:ember own backbutton implementationember 自己的后退按钮实现
【发布时间】:2015-10-23 15:17:47
【问题描述】:

在最新版本的 ember 中,实现后退按钮功能的最佳方式是什么。 我的意思是,不仅使用浏览器的后退按钮。我的应用程序左上角有我自己的后退按钮。 如果浏览器历史记录中的上一页在我的应用程序之外,那么我想转到我的应用程序主页。 有很多关于如何解决这个问题的建议,但它们都相当陈旧。如何在最新版本的 ember 中正确执行此操作?

我认为window.history.go(-1); 不会在所有情况下都这样做。

我想我必须保留自己的历史堆栈?如何挂钩到每个转换以维护堆栈?

【问题讨论】:

  • 我通过在每次用户单击应用程序中的链接时将窗口位置设置为 cookie 中的值来执行此操作。然后我做了一些字符串匹配来确定用户来自哪里。这是为了确定用户是否从我的 ember 应用程序来到站点的另一个不是 ember 的部分。效果很好
  • 我想使用 ember 功能和 ember 路由器

标签: ember.js ember-router


【解决方案1】:

我不知道这是否是最好的解决方案,但它很容易实现:

在您的路线中,使用事件willTransition 来了解用户何时会进行转换,并在完成之前将实际路径存储在service 中(我推荐service,因为您可以在所有情况下使用它只需注入它的路线)。然后,您只需请求service 上一个路由,以便在单击按钮时转换到。为了避免样板代码,您可以为该 willTransition 事件创建一个 mixin,因此您只需将 mixin 添加到您的路由中,而不是一次又一次地重复相同的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多