2015-11-23 4 views
0

Я использую Extjs 6 для построения сетки. это мой магазин: schedule.jsExtjs 6 viewModel and Store

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

ответ

0

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