Ember.js。过滤模型
Ember.js. Filtered model
我有一个带有任务的模型,我想按状态过滤数据并在不同的列表中显示结果。
所以我的构造无法按我想要的方式工作。
tasks: Ember.computed(function(){
var modelTasks = this.get('store').findAll('task');
return {
todo: modelTasks.filterBy('status', 'todo'),
inProgress: modelTasks.filterBy('status', 'inprogress'),
done: modelTasks.filterBy('status', 'done')
};
}),
我是新人,请多多包涵
为什么需要 tasks
计算 属性?。
findAll
returns 保证你的代码不正确。
异步计算属性有点棘手 - 阅读 this ignite article 了解更多信息。
我会说,数据获取应该发生在路由级别,所以相应的路由js文件model
hook你可以写,
export default Ember.Route.extend({
model() {
return this.get('store').findAll('task').then((result) => {
return {
todo: result.filterBy('status', 'todo'),
inProgress: result.filterBy('status', 'inprogress'),
done: result.filterBy('status', 'done')
};
});
}
});
对应的hbs文件里面,可以像model.todo
一样访问
我有一个带有任务的模型,我想按状态过滤数据并在不同的列表中显示结果。
所以我的构造无法按我想要的方式工作。
tasks: Ember.computed(function(){
var modelTasks = this.get('store').findAll('task');
return {
todo: modelTasks.filterBy('status', 'todo'),
inProgress: modelTasks.filterBy('status', 'inprogress'),
done: modelTasks.filterBy('status', 'done')
};
}),
我是新人,请多多包涵
为什么需要 tasks
计算 属性?。
findAll
returns 保证你的代码不正确。
异步计算属性有点棘手 - 阅读 this ignite article 了解更多信息。
我会说,数据获取应该发生在路由级别,所以相应的路由js文件model
hook你可以写,
export default Ember.Route.extend({
model() {
return this.get('store').findAll('task').then((result) => {
return {
todo: result.filterBy('status', 'todo'),
inProgress: result.filterBy('status', 'inprogress'),
done: result.filterBy('status', 'done')
};
});
}
});
对应的hbs文件里面,可以像model.todo