我在Emberjs-Data中实现queryFixtures函数时遇到了问题。我有以下代码来定义商店:
App.Store = DS.Store.extend({
revision: 12,
adapter: DS.FixtureAdapter.extend({
queryFixtures: function(fixtures, query, type) {
console.log(query);
console.log(type);
return fixtures.filter(function(item) {
for(prop in query) {
if( item[prop] != query[prop]) {
return false;
}
}
return true;
});
}
})
});
我的模型看起来像:
FireSurveyApp.User = DS.Model.extend({
userId: DS.attr('number'),
username: DS.attr('string'),
password: DS.attr('string'),
FirstName: DS.attr('string'),
LastName: DS.attr('string')
});
当我尝试获取灯具数据时,我使用以下代码:
var returnUser = this.store.find("User",{ username : "Ted"});
该函数将返回undefined,是否有一种不同的方式我应该调用queryFixtures函数?
提前致谢。
答案 0 :(得分:1)
我能够找到解决方案。将商店适配器设置回DS.FixtureAdapter。
adapter: 'DS.FixtureAdapter'
在ember-data js文件中实现queryFixtures函数,如下所示:
queryFixtures: function(fixtures, query, type) {
var key = Ember.keys(query)[0];
return fixtures.filterBy(key, query[key]);
},
完成这两个步骤后,我能够如上所示查询夹具,没有任何问题。希望这有助于任何遇到同样问题的人。