2015-11-23 42 views
0

我使用Extjs 6来构建网格视图。 这是我的商店: schedule.jsExtjs 6 viewModel和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 
     } 
    ] 
}); 

我发现,当观看加载,存储总是请求两次。 我不知道为什么? screenshot

回答

0

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