Extjs 6 viewModel和Store

时间:2015-11-23 04:51:41

标签: extjs6-classic

我正在使用Extjs 6来构建网格视图。 这是我的商店: schedule.js

Ext.define('schedulewise.store.schedule.Schedule', {
    extend: 'Ext.data.Store',
    alias: 'store.Schedule',
    requires: [
        'schedulewise.utils.Config'
    ],
    model: 'schedulewise.model.schedule.Schedule',
    autoLoad: true,
    proxy: {
        type: 'rest',
        url: 'http://127.0.0.1:8080/' + schedulewise.utils.Config.projectName + '/rest/cserver/dto/schedule/allInfo?request=loadSchedule',
    useDefaultXhrHeader: false,
        reader: {
            type: 'json'
        },
        writer: {
            type: 'json'
        }
}

这是我的viewModel:ScheduleModel.js

Ext.define('schedulewise.view.schedule.ScheduleModel', {
    extend: 'Ext.app.ViewModel',
    alias: 'viewmodel.ScheduleModel',
    stores: {
        Schedule: {
            type:'Schedule'
        }
    },
    data:{
        title:'Schedules'
    }
});

这是我的观点:

Ext.define("schedulewise.view.schedule.MainPanel", {
    extend: 'Ext.grid.Panel',
    xtype: 'MainPanel',
    requires: [
        'schedulewise.utils.Config'
    ],
    layout: 'fit',
    region: 'center',
    controller: 'ScheduleController',
    viewModel: 'ScheduleModel',
    bind: {
        store: '{Schedule}',
        title:'{title}'
    },
    columns: [
        {
            text: 'Name',
            dataIndex: 'scheduleName',
            resizable: false,
            hideable: false,
            sortable: false,
            flex: 25 / 100
        },
        {
            text: 'lastestVersion',
            dataIndex: 'lastestVersion',
            resizable: false,
            hideable: false,
            sortable: false,
            flex: 25 / 100
        },
        {
            text: 'currentVersion',
            dataIndex: 'lastestVersion',
            resizable: false,
            hideable: false,
            sortable: false,
            flex: 25 / 100
        },
        {
            text: 'date range',
            dataIndex: 'scheduleRange',
            resizable: false,
            hideable: false,
            sortable: false,
            flex: 25 / 100
        }
    ]
});

我发现加载视图时,Store总是请求两次。 我不知道为什么? screenshot

1 个答案:

答案 0 :(得分:0)

您创建了两个Schedule store实例。并且由于autoLoad: true在实例创建时它正在向服务器发出请求。