Ember.js 如何根据之前的路线对已解析的模型执行某些逻辑
让我们想象一下,我有Ember.js 如何根据之前的路线对已解析的模型执行某些逻辑,ember.js,ember-data,Ember.js,Ember Data,让我们想象一下,我有文章资源和文章一个动态片段 ArticlesRoute和ArticlesRoute使用相同的基础数据加载Article。但是ArticlesRoute使用不同的序列化程序使用基本数据-关键是不要在索引中加载所有的项目、关系和其他非基本数据 例如,使用指向/articles/5(从索引)的链接转换到ArticleRoute,并提供完整数据。链接到助手的模型使用显式id触发模型挂钩: link-to 'article', this.id 模型已启动,但存储的只是基本数据。只有在
文章
资源和文章
一个动态片段
ArticlesRoute
和ArticlesRoute
使用相同的基础数据加载Article
。但是ArticlesRoute
使用不同的序列化程序使用基本数据-关键是不要在索引中加载所有的项目、关系和其他非基本数据
例如,使用指向/articles/5
(从索引)的链接转换到ArticleRoute
,并提供完整数据。链接到助手的模型使用显式id
触发模型
挂钩:
link-to 'article', this.id
模型已启动,但存储的只是基本数据。只有在从ArticlesRoute
转换时,我才想调用reload
(以加载完整数据)-我想使用LoadingRoute
如果我在afterModal
中调用model.reload()
,模板更改前会有延迟(无加载路径)我不知道部分加载的余烬数据记录的状态是什么。我记得它在一些愿望清单上。我这样做很成功
我不调用reload或find,而是执行查询。为了使路由模型钩子着火,我总是向路由传递一个基本体(就像您在链接到中所做的那样)
这是我的模型钩的样子
model: function(params) {
var query;
query = {
id: params.id,
includes: ['users'],
fields: ['name', 'date', 'user.name', 'user.whatever']
};
return this.store.find('article', query).then(
function(results) {
return results.get('firstObject')
}
);
}
希望这有帮助