我在模特身上有这个
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'
}
但是我在控制台上遇到以下错误 “未捕获的TypeError:无法调用未定义的方法”
有人可以帮助我吗?
答案 0 :(得分:1)
在job
商店中,删除不必要的行storeId: 'jobStore'
,然后在视图编辑商店中删除store: 'job'
,您的代码就可以正常使用了。
除此之外,我会要求您从代码段中删除几行代码(因为在标准的Sencha编码中,我们遵循某些规则)。
requires: [
'MyApp.model.job'
],
alias: 'store.job'
alias: 'model.job'
快乐的编码。 :)
在你的应用程序的app.js中,你应该写
models: ['job'],
stores: ['job']
代替模型和商店。