我有以下测试应用程序,实现 loading事件:
App = Ember.Application.create();
function delayedPromise(delay, value) {
delay = delay || 3000;
value = value || { msg: 'Delayed promise has been fulfilled' };
var promise = new Ember.RSVP.Promise(function(resolve) {
Ember.run.later(function() {
console.info('Delayed promise has been fulfilled');
resolve(value);
}, delay);
});
return promise;
}
App.ApplicationRoute = Ember.Route.extend({
beforeModel: function() {
return delayedPromise();
},
actions: {
loading : function() {
$.blockUI();
},
}
});
它按预期工作:UI 被 loading
事件阻止。
如何解锁 UI ($.unblockUI()
)?是否有一个 loadingFinished
(或类似)操作可以在所有模型完成解析时实现?
工作 jsbin here .
最佳答案
以 Legacy Loading Route 为例你可以:
App.ApplicationRoute = Ember.Route.extend({
beforeModel: function() {
return delayedPromise();
},
actions: {
loading : function() {
$.blockUI();
this.router.one('didTransition', $, 'unblockUI');
},
}
});
关于ember.js - 如何处理加载结束事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27949635/