Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js ember自己的backbutton实现_Ember.js_Ember Router - Fatal编程技术网

Ember.js ember自己的backbutton实现

Ember.js ember自己的backbutton实现,ember.js,ember-router,Ember.js,Ember Router,在最新版本的ember中,实现backbutton功能的最佳方式是什么。 我的意思是,不仅仅是使用浏览器的backbutton。我在应用程序的左上角有自己的backbutton。 如果浏览器历史记录中的上一页在我的应用程序之外,那么我想转到我的应用程序主页。 关于如何解决这个问题,有很多建议,但它们都相当陈旧。如何在最新版本的ember中正确执行此操作 我认为窗口.history.go(-1)不会在所有情况下都这样做 我想我必须保留自己的历史记录?如何连接到每个转换以维护堆栈?我不知道这是否是最

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

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


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

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


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

每次用户单击应用程序中的链接时,我都会在cookie中的值中设置窗口位置。然后我做了一些字符串匹配来确定用户来自哪里。这是为了确定是否有用户从我的余烬应用程序来到了网站的另一个非余烬部分。我想使用余烬功能和余烬路由器