为什么我不能在ExtJs中使用商店的短名称?

时间:2015-10-18 08:22:26

标签: javascript extjs extjs6

我使用ExtJs 6.0.0& Sencha Cmd 6.0.2并使用MVC架构,我有一个简单的应用程序,用于测试由Sencha Cmd生成,如下所示:

// MyApp / store / Personnel.js



Ext.define('MyApp.store.Personnel', {
  extend: 'Ext.data.Store',

  alias: 'store.personnel',


  fields: [
    'name', 'email', 'phone'
  ],

  data: {
    items: [{
      name: 'Jean Luc',
      email: "jeanluc.picard@enterprise.com",
      phone: "555-111-1111"
    }]
  },

  proxy: {
    type: 'memory',
    reader: {
      type: 'json',
      rootProperty: 'items'
    }
  }
});




// MyApp / app / view / main / List.js



Ext.define('MyApp.view.main.List', {
  extend: 'Ext.grid.Panel',
  xtype: 'mainlist',

  requires: [
    'MyApp.store.Personnel'
  ],

  title: 'Personnel',

  store: 'Personnel',
  //store: {
  //    type: 'personnel'
  //},

  columns: [{
    text: 'Name',
    dataIndex: 'name'
  }, {
    text: 'Email',
    dataIndex: 'email',
    flex: 1
  }, {
    text: 'Phone',
    dataIndex: 'phone',
    flex: 1
  }],

  listeners: {
    select: 'onItemSelected'
  }
});




// MyApp / app / Application.js



Ext.define('MyApp.Application', {
    extend: 'Ext.app.Application',
    
    name: 'MyApp',

    stores: [
        // TODO: add global / shared stores here
        'Personnel'
    ]  
});




是的,我想在列表的视图中使用人员商店的短名称(只有名称空间的名称),但它不起作用。 但是在 Ticket App (Sencha官方也在SDK中推荐的例子)它使用这样并且工作得很好,为什么我的工作不正常? app.json看起来一样。

1 个答案:

答案 0 :(得分:0)

store: 'foo'表示标识为foo的商店。该商店必须已经创建了一个实例。

您应该使用您在那里注释的type语法。