【发布时间】:2015-08-02 19:55:18
【问题描述】:
我最近遇到了 Ember.js 的一个错误。基本上,当我在 Firefox 中单击浏览器后退按钮时,Ember.js 会以错误的顺序执行代码。 willTransition回调中的代码在alert("...");之后的代码是在model回调之后执行的,通常应该在alert("...");返回之后执行。
代码是:
App = Ember.Application.create();
App.Router.reopen({
location: 'history'
});
App.Router.map(function() {
this.route('foo');
});
App.IndexRoute = Ember.Route.extend({
actions:{
willTransition: function(transition){
console.log('start IndexRoute#willTransition');
alert('See console logs');
console.log('end IndexRoute#willTransition');
}
}
});
App.FooRoute = Ember.Route.extend({
model: function() {
console.log('start FooRoute#model');
return [];
}
});
可以在此处找到有关如何重现错误的说明:https://github.com/goooooouwa/location/blob/master/README.md
在 JSBin 上使用 Firefox(OS X 上的版本 12+,Windows 上的版本 7+)查看此错误:http://emberjs.jsbin.com/tefoka/
【问题讨论】:
-
这个错误似乎是由this Firefox(版本38.0.1)错误引起的。
标签: firefox ember.js alert back-button html5-history