MVC应用程序中的Ext JS Store

时间:2015-08-28 22:28:59

标签: javascript extjs

我用sencha cmd生成了一个应用程序(它通过bootstrap文件运行),它的结构如下:

app
---\model\
----------ComboBox.js
---\store\
----------ComboBox.js
---\view\
----------My.js
----------MyController.js
----------MyModel.js

My.js是一个面板,我尝试将xtype: 'combobox'store: 'MyApp.store.ComboBox'一起使用。但它抛出:Uncaught TypeError: Cannot read property 'isEmptyStore' of undefined。我的商店/ ComboBox.js

    Ext.define('MyApp.store.ComboBox', {
    extend: 'Ext.data.Store',

    alias: 'store.combobox',

    fields: [
        'label', 'code'
    ],
    model: 'combobox',
    data: [
        {
            "label": "RRS",
            "code": "643"
        },
        {
            "label": "USA",
            "code": "840"
        }
    ]
});

我的模型/ ComboBox.js

Ext.define('MyApp.model.ComboBox', {
    extend: 'Ext.data.Model',
    alias: 'model.combobox',
    fields: ['label', 'code']
});

所以它出于某种原因无法从我的视图中找到(load()?)我的商店类。我尝试在组合框的商店配置字段中使用store.comboboxcombobox - 它不起作用。我不知道为什么,因为我正在遵循"推荐"目录结构。如果我将MyApp.store.ComboBox放在全局商店中需要阻止Application.js - 它只是尝试加载localhost/combobox.js(当然是NOT_FOUND)我认为这不是所有。

更新#1 主要的问题是,我有这样的观点:

...
items: [
                {
                    xtype: 'combobox',
                    store: 'MyApp.store.ComboBox',
                    valueField: 'code',
                    displayField: 'label',
                    fieldLabel: 'Type'
                },
...

它不会实例化商店对象!所以错误:

Uncaught TypeError: Cannot read property 'isEmptyStore' of undefined

有什么想法吗? 更新#2 最后:

...
items: [
                {
                    xtype: 'combobox',
                    store: Ext.create('MyApp.store.ComboBox'),
                    valueField: 'code',
                    displayField: 'label',
                    fieldLabel: 'Type'
                },
...

完美地工作,为什么我不能在商店配置字段中使用类名(根据文档)?

0 个答案:

没有答案