0

我使用 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'
    ]  
});

是的,我想在List的视图中使用Personnel存储的短名称(只有 Classname 没有 Namespace),但它不起作用。但是在Ticket App中(Sencha官方推荐的例子也在SDK中)这样使用并且可以正常工作,为什么我的不能正常工作?app.json 看起来一样。

4

1 回答 1

0

store: 'foo'表示带有 id 的商店foo。该商店必须已经创建了一个实例。

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

于 2015-10-18T11:43:46.827 回答