如何在 ember 的模型挂钩中操作从 findAll 函数返回的数据库内容?
How can you manipulate db content thats returned from findAll function in model hook of ember?
findAll 的 return 值是一个未知的混入。例如。在路由器中 xyz.js
model(){
a = this.store.findAll('food-track');
return a
}
我们如何像
一样在模型本身中操作或提取数据
model(){
a = this.store.findAll('food-track');
some_data = a['_id'];
some_more_data = a['name'];
return some_more_data
}
但是 a 不是我预期的格式,我无法执行任何类似的功能?顺便说一句,数据取自 couch/pouchdb.
findAll
returns Promise
将解析为 RecordArray
扩展 ArrayProxy 因此您可以使用 ArrayProxy 中可用的所有方法。
model(){
return this.store.findAll('food-track').then((result) => {
//here you can forEach method to iterate and to filter use filterBy
//Use objectAt(index) to retrieve object and use get and set
//dont forget to the return transformed result.
return result;
});
}
我同意 kumkanillam 的回答:findAll
将 return 一个数组,因此您必须对其进行迭代。
此外,根据您的需要,您也可以使用计算属性来操纵您的模型 属性。这是来自 Ember
的 docs
findAll 的 return 值是一个未知的混入。例如。在路由器中 xyz.js
model(){
a = this.store.findAll('food-track');
return a
}
我们如何像
一样在模型本身中操作或提取数据model(){
a = this.store.findAll('food-track');
some_data = a['_id'];
some_more_data = a['name'];
return some_more_data
}
但是 a 不是我预期的格式,我无法执行任何类似的功能?顺便说一句,数据取自 couch/pouchdb.
findAll
returns Promise
将解析为 RecordArray
扩展 ArrayProxy 因此您可以使用 ArrayProxy 中可用的所有方法。
model(){
return this.store.findAll('food-track').then((result) => {
//here you can forEach method to iterate and to filter use filterBy
//Use objectAt(index) to retrieve object and use get and set
//dont forget to the return transformed result.
return result;
});
}
我同意 kumkanillam 的回答:findAll
将 return 一个数组,因此您必须对其进行迭代。
此外,根据您的需要,您也可以使用计算属性来操纵您的模型 属性。这是来自 Ember
的 docs