Extjs addrecords事件在Sencha Touch store上不起作用
这是我的密码Extjs addrecords事件在Sencha Touch store上不起作用,extjs,sencha-touch,sencha-touch-2,Extjs,Sencha Touch,Sencha Touch 2,这是我的密码 Ext.define('MyModel', { extend: 'Ext.data.Model', config: { fields: ['name', { name: 'twitter', type: 'string' }] } }); Ext.define('Fiddle.MyStore', { extend: 'Ext.data.Store', conf
Ext.define('MyModel', {
extend: 'Ext.data.Model',
config: {
fields: ['name', {
name: 'twitter',
type: 'string'
}]
}
});
Ext.define('Fiddle.MyStore', {
extend: 'Ext.data.Store',
config: {
model: 'MyModel',
listeners: {
}
},
addrecords: function(store, records, eOpts) {
console.log('new recorded have been added.');
console.log('new recorded number = ' + store.getCount());
}
});
Ext.application({
name: 'Fiddle',
launch: function() {
Ext.Msg.alert('Fiddle', 'Welcome to Sencha Fiddle!');
var mystore = Ext.create('Ext.data.Store', {
data: [{
name: 'Mitchell Simoens',
twitter: 'SenchaMitch'
}, {
name: 'Jay Garcia',
twitter: 'ModusJeasus'
}, {
name: 'Anthony De Moss',
twitter: 'ademoss1'
}]
});
mystore.add({
name: "winston fan",
twitter: 'WFC'
});
//console.log('mystore has ' + mystore.getCount());
}
});
这是sencha小提琴:
我知道我可以使用mystore.on绑定事件,但在我的情况下很难做到这一点。所以我想把addrecords放到存储的配置中。但不管我把密码放在哪里
addrecords: function(store, records, eOpts) {
console.log('new recorded have been added.');
console.log('new recorded number = ' + store.getCount());
}
无论是在config节下的侦听器中,还是直接在存储下,都不会触发addrecords事件。它仅在我使用mystore.on'addrecords',函数{};时触发
有人能告诉我如何将事件放入商店的配置中吗
谢谢。商店配置中的事件是个坏主意,因为它们很容易被覆盖,但它们会进入监听器中。侦听器:{addrecords:函数{…} 实际上,控制器应该使用store.on'addrecords',function….添加侦听器
当然,该框架正在发挥作用;您的代码已损坏;- 嗨,谢普西,你有没有试着把addrecords放在监听器的config下?我试过了,但没用。你知道你定义为Fiddle.MyStore的商店与你的其他代码没有关联吗?Ext.create'Ext.data.Store'。。。稍后使用而不是Ext.create'Fiddle.MyStore'谢谢你对答案的否决票,不管是谁-想解释一下吗?嗨@shepsii,谢谢你的回复。我想您之所以说Fiddle.MyStore与代码的其余部分无关,是因为它们不使用相同的名称空间。但即使我更改了代码,使它们位于同一名称空间下,并将addrecords移动到侦听器中,它仍然不起作用。我两种方法都试过了。你试过了吗?你能提供一个sencha小提琴手来证明你的方法有效吗?嗨,Franva。您正在定义一个类Fiddle.MyStore,然后根本不使用该类,只是恢复到Ext.data.Store。我不想证明定义一个类然后使用它是一种合理有效的编码方法。我会重复我在sencha论坛上说的话。。。我认为您需要阅读一些Sencha Touch书籍,并对框架的最佳实践有一个基本的了解。你遇到的问题表明你对它的工作原理缺乏了解,我认为阅读一些最佳实践对你会有很大帮助。嗨,谢普西,我明白你的意思了。我定义了一个商店,但没有使用它,所以这个甚至没有被解雇。非常感谢。