Sencha Touch 2 - 添加模型仅存储一次

时间:2013-01-27 17:45:20

标签: sencha-touch-2

我有一个商店通过代理服务器获取其价值。但我想硬编码一个国家(空国家),应该在sencha代码中附加到商店

我尝试了一个天真的

data: [
    {
        id: '999',
        countryCode: 'NullCountry',
        countryName: 'Null (+nothing)',
        countryPhoneCode: null
    }
]

但它不起作用(这只是一次尝试)。我怎么能这样做?

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

    config: {
        id : 'CountryStore',
        model:'Sencha.model.user.Country',

        proxy: {
            type: 'rest',
            url : '/countries',
            headers: {
                'Content-Type': 'application/json',
                'Accept' : 'application/json'
            },
            reader: {
                type: 'json',
                rootProperty: 'countries'
            }
        },
        autoLoad: true,
        data: [
            {
                id: '999',
                countryCode: 'NullCountry',
                countryName: 'Null (+nothing)',
                countryPhoneCode: null
            }
        ]
    }
});

1 个答案:

答案 0 :(得分:2)

您可以收听商店load事件,然后添加新记录:

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

    config: {
        id : 'CountryStore',
        model:'Sencha.model.user.Country',

        proxy: {
            type: 'rest',
            url : '/countries',
            headers: {
                'Content-Type': 'application/json',
                'Accept' : 'application/json'
            },
            reader: {
                type: 'json',
                rootProperty: 'countries'
            }
        },
        autoLoad: true,

        listeners: {
            load: function(me) {
                me.add({
                    id: '999',
                    countryCode: 'NullCountry',
                    countryName: 'Null (+nothing)',
                    countryPhoneCode: null
                });
            }
        }
    }
});