我在模型上有这个
Ext.define('MyApp.model.job', {
extend: 'Ext.data.Model',
alias: 'model.job',
config: {
fields: [{
name: 'name',
type: 'string'
}, {
name: 'value',
type: 'string'
}]
}
});
而这个在商店里
Ext.define('MyApp.store.job', {
extend: 'Ext.data.Store',
alias: 'store.job',
requires: [
'MyApp.model.job'
],
config: {
autoLoad: true,
data: [
{
name: '--Please Select--',
value: ''
}, {
name: 'Job 1',
value: 'Job1'
}, {
name: 'Job 2',
value: 'Job2'
}, {
name: 'Job 3',
value: 'Job3'
}
],
model: 'MyApp.model.job',
storeId: 'jobStore'
}
});
这是视图
{
xtype : 'selectfield',
name : 'job',
label : 'Job',
displayField : 'name',
valueField : 'value',
store: 'jobStore'
}
但是我在控制台上收到以下错误"未捕获的类型错误: 无法调用未定义的方法'on' "
有人可以帮助我吗?
在job
存储区中,删除不必要的行storeId: 'jobStore'
并在视图编辑存储区中store: 'job'
,您的代码将正常工作。除此之外,我会要求您从代码片段中删除几行代码(因为在标准 Sencha 编码中,我们遵循某些规则)。
-
requires: [ 'MyApp.model.job' ],
-
alias: 'store.job'
-
alias: 'model.job'
快乐编码。:)
编辑
在应用程序.js中,您应该编写
models: ['job'],
stores: ['job']
而是建模和存储。