Sencha touch 是否在加载存储后立即将数据插入存储?

Sencha touch 是否在加载存储后立即将数据插入存储?,sencha-touch,sencha-touch-2,Sencha Touch,Sencha Touch 2,我创建了一个简单的应用程序,从json存储加载数据并将其绘制在屏幕上。我需要能够做的是添加到客户端的存储中(我不控制源数据)。因此,在store load:funciton()或main控制器中,如果还不太晚,我想在开头插入几行,这样这些记录就会出现在John、Paul、George和Ringo之前。我已经包含了我所有的Javascript,因此代码是完整的 雇员模型: Ext.define('Sencha.model.Employee', { extend: 'Ext.data.Mo

我创建了一个简单的应用程序,从json存储加载数据并将其绘制在屏幕上。我需要能够做的是添加到客户端的存储中(我不控制源数据)。因此,在store load:funciton()或main控制器中,如果还不太晚,我想在开头插入几行,这样这些记录就会出现在John、Paul、George和Ringo之前。我已经包含了我所有的Javascript,因此代码是完整的

雇员模型:

Ext.define('Sencha.model.Employee', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            {name: 'firstName', type: 'string'},
            {name: 'lastName', type: 'string'},
            {
                name: 'fullName',
                type: 'string',
                convert: function (value, record) {

                    firstName = record.data.firstName;
                    lastName = record.data.lastName;
                    fullName = firstName + " " + lastName;
                    return fullName;
                }
            }
        ]
    },
    load: function () {
        console.log("Employee model");
        this.callParent(arguments);
    }
});
雇员商店:

Ext.define('Sencha.store.EmployeeStore', {
    extend: 'Ext.data.Store',

    requires: [],

    config: {
        model: 'Sencha.model.Employee',
        autoLoad: true,
        defaultRootProperty: 'items',

        proxy: {
            type: 'ajax',
            url: 'employees.json',
            reader: {
                type: 'json',
                rootProperty: 'items'
            }
        }
    },

    load: function () {
        console.log("EmployeeStore");

        this.callParent(arguments);
    }
});
控制器:(尝试获取存储并打印值)

app.js:

Ext.Loader.setConfig({enabled: true});

Ext.application({
    name: "Sencha",

    models: ['Employee'],
    stores: ['EmployeeStore'],
    views: [],
    controllers: ['MainController'],

    launch: function () {
    console.log("Launching");

    var aList = Ext.create("Ext.List", {
        fullscreen: true,
        store: 'EmployeeStore',
        itemTpl: "{lastName}, {firstName} - {fullName}"
    });
        Ext.Viewport.add(aList);
    }
});
employees.json:

{"items": [
    { "firstName": "John", "lastName": "Lennon" },
    { "firstName": "Paul", "lastName": "McCartney" },
    { "firstName": "George", "lastName": "Harrison" },
    { "firstName": "Ringo", "lastName": "Starr" }
]}

自动加载
从存储区中取出,在启动函数中加载存储区,然后使用回调添加记录:

launch: function () {
    var empStore = Ext.getStore('EmployeeStore');
    empStore.load(function() {
        empStore.insert(0, [ /*records to insert*/ ]);
    });
}

自动加载
从存储区中取出,在启动函数中加载存储区,然后使用回调添加记录:

launch: function () {
    var empStore = Ext.getStore('EmployeeStore');
    empStore.load(function() {
        empStore.insert(0, [ /*records to insert*/ ]);
    });
}