Extjs 6 viewModel и магазин

Я использую 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'
        }
}

это моя модель представления: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 всегда запрашивает два раза. Я не знаю, почему? скриншот


person Droid    schedule 23.11.2015    source источник


Ответы (1)


Вы создаете два экземпляра хранилища расписаний. И из-за autoLoad: true при создании экземпляра он делает запрос на сервер.

person Martin Zinovsky    schedule 18.02.2016