如何从Dojo数据存储中删除所有项目?
从数据存储中删除所有项目时遇到问题。我正在尝试这一点,它似乎应该有效,但最终失败了:如何从Dojo数据存储中删除所有项目?,dojo,dgrid,Dojo,Dgrid,从数据存储中删除所有项目时遇到问题。我正在尝试这一点,它似乎应该有效,但最终失败了: var TrackableMemory = declare([ Memory, Trackable ]); var userMem = new TrackableMemory({ data: {the data...}, idProperty: '_id' }); userMem.forEach(function (userObj) { userMem.remove(userOb
var TrackableMemory = declare([ Memory, Trackable ]);
var userMem = new TrackableMemory({
data: {the data...},
idProperty: '_id'
});
userMem.forEach(function (userObj) {
userMem.remove(userObj._id);
});
我在中举了一个有效(或者说不有效)的例子。当控制台找不到最后一条记录时,请参阅控制台中的“无法读取未定义属性“\u id”错误
我有其他东西连接到这个商店实例,所以我不能通过重新定义userMem
来重置所有东西
我做错了什么?如何从数据存储中删除所有项?原来是一个简单的JS数组问题,需要修改我迭代的数组。使用一个简单的
for
在阵列上向后循环可以:
userMem.fetch().then(function (users){
for (var i = users.length - 1; i >= 0; i--) {
userMem.remove(users[i]._id);
}
});
这对我有用
// Forget all data
myGrid.store.data = [];
// Refresh the grid
myGrid.refresh();
啊,看起来这可能只是一个JS数组问题。e、 例如,
var a=['a','b','c','d'];a、 forEach(函数(字母){var ind=a.indexOf(字母);a.splice(ind,1);})代码>。现在a
是['b','d']
。看起来这就是dstore使用其forEach
函数和内存的removeSync
所做的?