Extjs4 创建存储时静态定义存储中的数据

Extjs4 创建存储时静态定义存储中的数据,extjs4,Extjs4,我想创建一个简单的商店,可以重复使用只包含年 Ext.define('Workshop.store.YearsStore', { 扩展:“Ext.data.Store”, 字段:['id','type'], 构造函数:函数(配置) { 风险值年数=[]; 对于(var n=1972;n需要纠正的事情很少: 您不需要调用。initConfig用于在类的config属性中包含的属性中添加getter和setter。在这种情况下,您只需要调用callParent。它应该为您解决其余问题 当未定义con

我想创建一个简单的商店,可以重复使用只包含年

Ext.define('Workshop.store.YearsStore',
{
扩展:“Ext.data.Store”,
字段:['id','type'],
构造函数:函数(配置)
{
风险值年数=[];
对于(var n=1972;n需要纠正的事情很少:

  • 您不需要调用。
    initConfig
    用于在类的
    config
    属性中包含的属性中添加getter和setter。在这种情况下,您只需要调用
    callParent
    。它应该为您解决其余问题
  • 当未定义
    config
    时,您忘记处理该案例。
    config
    可能为空,并且在某些情况下,您的行
    config.data
    将引发
    config未定义
  • 使用本机
    (new Date())。getFullYear()
    似乎更好
  • 下面是修改后的代码,以及

    Ext.define('Workshop.store.YearsStore'{
    扩展:“Ext.data.Store”,
    字段:['id','type'],
    起始日期:1972年,
    endYear:(新日期()).getFullYear(),
    构造函数:函数(cfg){
    var me=这个;
    //我们首先初始化配置(复制开始日期和结束日期)
    Ext.apply(me,cfg |{});
    me.data=[];
    //然后我们推送数据
    对于(var n=me.startYear;n需要纠正的几件事:

  • 您不需要调用。
    initConfig
    用于在类的
    config
    属性中包含的属性中添加getter和setter。在这种情况下,您只需要调用
    callParent
    。它应该为您解决其余问题
  • 当未定义
    config
    时,您忘记处理该案例。
    config
    可能为空,并且在某些情况下,您的行
    config.data
    将引发
    config未定义
  • 使用本机
    (new Date())。getFullYear()
    似乎更好
  • 下面是修改后的代码,以及

    Ext.define('Workshop.store.YearsStore'{
    扩展:“Ext.data.Store”,
    字段:['id','type'],
    起始日期:1972年,
    endYear:(新日期()).getFullYear(),
    构造函数:函数(cfg){
    var me=这个;
    //我们首先初始化配置(复制开始日期和结束日期)
    Ext.apply(me,cfg |{});
    me.data=[];
    //然后我们推送数据
    for(var n=me.startYear;n
    
    Ext.define('Workshop.store.YearsStore', {
        extend: 'Ext.data.Store',
        fields: ['id', 'type'],
        startYear: 1972,
        endYear: (new Date()).getFullYear(),
        constructor: function(cfg) {
            var me = this;
    
            //We init the configurations first (to copy startYear and endYear)
            Ext.apply(me, cfg || {});
    
            me.data = [];
            //Then we push data
            for(var n = me.startYear ; n <= me.endYear ; n++) {
                me.data.push({id: n, type: n});
            }
    
            //Then finally we callparent to init this store.
            me.callParent([cfg]);
        }
    });