【发布时间】:2014-02-15 15:19:14
【问题描述】:
举个例子http://dojotoolkit.org/reference-guide/1.9/dojo/store/util/SimpleQueryEngine
SimpleQueryEngine(function(object){
return object.id > 1;
})(someData) // Returns an array with matching objects
我正在使用 DataStore http://livedocs.dojotoolkit.org/dojo/store/DataStore
DataStore 包含 ItemFileWriteStore http://livedocs.dojotoolkit.org/dojo/data/ItemFileWriteStore
类型的存储我正在尝试以下方法:
var myNumber = 12; // but could be any number like -12, 0.12, 12345 or -12345.1
dataStore.store.query(function(storeItem){
return storeItem.number < myNumber;
})
这真的行不通。
据我所见,SimpleQueryEngine 使用 dojo/_base/array,它使用过滤器方法,该过滤器方法接受数组和回调函数等参数进行过滤。
正如您在此处看到的:https://github.com/dojo/dojo/blob/master/store/DataStore.js,DataStore 使用 SimpleQueryEngine,因此它应该可以工作...
我的商店包含这样的对象:
[{id: 1, number: 2345},{id: 2, number: 23.45},{id: 3, number: -2345},{id: 4, number: 2345},{id: 5, number: 0.2345}]
我想查询给定商店以查找小于给定数字的数字。
为了澄清我真正想要理解的是为什么将函数作为参数传递给 query() 方法不起作用以及如何使其起作用。
谢谢,
【问题讨论】:
标签: javascript dojo