我目前正在使用 Sencha 开发一个 Javascript 项目,但我遇到了一个我什至无法理解的问题。
问题很简单。这是我的代码:
console.log("store : ");
console.log(store);
console.log("store length :");
console.log(store.data.length);
这是它返回的内容:
store :
_data: Ext.apply.create.Class
_model: ()
_modelDefaults: Ext.Object.classify.objectClass
_params: Ext.Object.classify.objectClass
_proxy: Ext.apply.create.Class
_remoteFilter: false
_remoteGroup: false
_remoteSort: false
_storeId: "Indicator_Value"
_syncRemovedRecords: false
config: Ext.Object.classify.objectClass
data: Ext.apply.create.Class
_autoFilter: true
_autoSort: true
_filterRoot: "data"
_sortRoot: "data"
all: Array[2]
config: Ext.Object.classify.objectClass
dirtyIndices: false
getKey: (record)
indices: Object
initConfig: ()
initialConfig: Object
items: Array[2]
keys: Array[2]
length: 2
map: Object
__proto__: Ext.util.Collection#constructor
dateFirst: Mon Aug 31 2015 14:47:36 GMT+0200 (Paris, Madrid (heure d’été))
dateLast: Mon Aug 31 2015 15:02:48 GMT+0200 (Paris, Madrid (heure d’été))
emptyNext: false
emptyPrevious: false
eventDispatcher: Ext.apply.create.Class
getEventDispatcher: ()
getId: ()
getObservableId: ()
getUniqueId: ()
graphType: 1
id: "myapp-store-indicator_value-1"
indicatorId: 262
initConfig: ()
initialConfig: Object
initialized: true
managedListeners: Object
observableId: "#myapp-store-indicator_value-1"
period: "H"
removed: Array[0]
titleIndicatorValue: "Duration in FTC"
usedSelectors: Array[1]
__proto__: Object
store length :
14
我就是不明白。 store.data.length 应该返回 2,但它一直返回 14。也许我只是不明白商店是如何工作的? 不管怎样,我真的很想得到一些帮助,因为我已经在这个问题上坚持了大约 2 个小时,而且我就是看不到它的结局。
谢谢!
最佳答案
I just don't get it. store.data.length should return 2, but it keeps returning 14.
这很容易。在看到“2”的地方,您会看到商店的当前计数,因为您正在查看商店对象内部。在您看到“14”的地方,您会看到将其写入控制台时的计数。显然,无论出于何种原因,计数从那时起就发生了变化!
这很容易重现:
var store = Ext.create('Ext.data.Store', {
data: ['foo', 'bar', 'aa', 'foo', 'bar', 'aa', 'foo', 'bar', 'aa', 'foo', 'bar', 'aa', 'bar', 'aa']
});
console.log(store);
console.log(store.data.length);
store.removeAt(0, 12);
关于Javascript 对象数据未返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312205/