使用ExtJS MVC中的init函数将数据加载到Ext.data.Store中

s.w*_*dit 2 extjs store

我需要在init上填充Store数据,如下所示:

Ext.define('Vcs.store.Years', {

    extend: 'Ext.data.Store',
    fields: ['year'],
    data: this.getYears(),
    getYears: function() {
        var data = []
            date = new Date
            thisYear = date.getFullYear();
        for(var i = thisYear - 100; i <= thisYear; i++) {
            data.push({
            year: i,
            });
        }
        return data;
    }
});
Run Code Online (Sandbox Code Playgroud)

此代码提供错误: Object [object global] has no method 'generateYears'

CD.*_*D.. 5

你可以这样做:

Ext.define('Vcs.store.Years', {  
    extend: 'Ext.data.Store',
    fields: ['year'],
    data: (function() {
        var data = [],
            date = new Date,
            thisYear = date.getFullYear();
        for(var i = thisYear - 100; i <= thisYear; i++) {
            data.push({
            year: i
            });
        }
        return data;
    })()
});
Run Code Online (Sandbox Code Playgroud)