在 extjs 中创建商店侦听器

Create store listener in extjs

我对 extjs 有点陌生,我正在尝试创建一个侦听器作为面板的一部分,这是为了检索商店中记录的总数,有什么简单的方法可以做到这一点吗?

商店 class 有活动。当存储从远程数据源读取数据时,将触发加载事件。远程数据源应该return记录总数。商店设置了一个“totalProperty” 远程商店 returns 这个 属性 有一个值。然后您可以使用 getTotalCount() 从商店中获取 属性。

Example that returns a totalCount

load 事件不适用于此目的,因为它仅在加载商店时触发。如果您需要监视更改,那么您将需要 datachanged 事件,只要商店中发生任何更改就会触发该事件。 IE。你需要像

这样的东西
Ext.getStore('simpsonsStore').on('datachanged', (store) => {
    panel.down('#count').setHtml('Count: ' + store.count());
})

您可以使用count()getCount()getTotalCount()来获取商店中的物品。前两个做同样的事情, returns 项目的数量,无论它们是否写入代理。最后 returns 计数已存储。 IE。 getTotalCount 仅当商店为 sync()-ed 时才会更改。

See Fiddle for working example