当模型中的数据在模板上呈现时,是否有可能知道(使用最佳的事件处理程序),还有更新后的内容?
我将以此为例:
App.ApplicationRoute = Ember.Route.extend({
setupController: function(controller, model) {
var promise = myNewModel();
this._super(controller, promise);
}
})
我正在更新setupController中的模式,因为我不希望用户被卡在空白页面上。
当我在模板上完成所有数据渲染时,是否有办法获取该事件,在我更新模型的情况下?
答案 0 :(得分:1)
当你达到setupController
时,模型需要是真实的,而不是承诺。在这里设置模型是一个承诺根本不起作用。你可以尝试这样的事情:
setupController: function(controller, model) {
myNewModel().then(function(model) {
controller.set('model', model);
});
}
换句话说,它不是您正在寻找的事件,而是您newModel
来电的履行。
答案 1 :(得分:0)
您应该使用Loading Substates。 Refer docs here
您需要从route#model
挂钩获取模型并返回一个promise。加载状态将被触发,直到promise结算。您可以显示加载模板,直到承诺解决。
App.ApplicationRoute = Ember.Route.extend({
model: function() {
var promise = myNewModel();
return promise;
}
});