使用store.findRecord()
和store.findAll()
时我没有遇到任何问题,但是当我尝试使用store.query()
时,它总会返回模型中的所有内容,而不是像我期待的那样。<\ n / p>
例如,我的人模型中有100条记录,当我在路线中使用ember.js网站上的示例时:
model: function() {
this.get('store').query('person', {
filter: {
name: 'Peter'
}
}).then(function(peters) {
return peters
});
}
所有100条记录都会返回到我的模板,而不只是那些名称为“Peter&#39;”的记录。
答案 0 :(得分:0)
您的模型钩子应该返回。
model() {
return this.get('store').query('person', {
filter: {
name: 'Peter'
}
}).then(function(peters) {
return peters
});
}
答案 1 :(得分:0)
我认为你正在寻找类似的东西
@Component({
templateUrl: 'app.html'
})
export class MyApp {
constructor(private events: Events) {
this.events.subscribe("userloggedin", (user) => this.currentUser = user);
}
}
我认为你不能那样过滤(我可能错了)。当您将参数传递给JSON.parse(user)
方法时,您将向他们发送服务器端,并依靠您的API来过滤和发回正确的数据。
如果你无法控制,你可以只过滤客户端的记录。但是,在服务器端过滤会很快。
答案 2 :(得分:0)
这与余烬无关。如果您调用store.query
或store.queryRecord
ember-data将查询发送到服务器并期望服务器执行所需的过滤逻辑。
您应该了解服务器和客户端过滤之间的区别。差异至关重要!