我可能已经尝试过无数种方式,没有什么是有效的。我的最后一次尝试 - 虽然工作得很好,但有一个丑陋的权衡是:
App.UsersRoute = Em.Route.extend({
model: function() {
return App.User.find({}).then(function(response) {
return response;
});
}
});
这个问题 - 我很想知道是它进行同步通话。在返回之前,我的HTML / DOM将无法完成加载。
另一件事我想知道,如果我从find中省略了空对象{} - 实际上会立即调用promise函数。我承诺!
现在我尝试过的其他方法都有以下几点都有缺陷:
答案 0 :(得分:1)
我可能已经尝试过无数种方式,但没有什么是有效的。
我不知道你是否曾尝试挂钩路线的afterModel
功能,这是一个不久前添加的附加功能,可在rc6中使用:
App.UsersRoute = Em.Route.extend({
afterModel: function(users, transition) {
console.log(users.get('length'));
}
});
有关摘机beforeModel
和afterModel
的更多信息,请参阅here。
我还提出了jsbin来玩游戏。
希望它有所帮助。
答案 1 :(得分:-1)
你可以在这里阅读https://github.com/emberjs/data/pull/735
像你这样的问题Ember-data RecordArray isLoaded Status。
您也可以尝试将isUpdating
视为假,而不是isLoading