使用模型和商店的煎茶触摸组合框



我在模型上有这个

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 编码中,我们遵循某些规则)。

  1. requires: [ 'MyApp.model.job' ],

  2. alias: 'store.job'

  3. alias: 'model.job'

快乐编码。:)

编辑

在应用程序.js中,您应该编写

models: ['job'],
stores: ['job']

而是建模和存储。

最新更新