请你帮我休息一下。我希望我的商店成为REST,我看到了一些使用HttpProxy的样本,并试图做同样的事情,但它不起作用。
正如我在样本商店中注意到的那样,总是创建如下:var store = Ext.create ... 如果有问题,那么我不知道在哪里调用Ext.create,之前我总是在网格中使用storeId并且运行良好。
P.S。为什么没有只有空白字段的商店数据就无法创建网格?
这是我的'TestStore'代码:
Ext.define('MVC.store.Notes', {
extend : 'Ext.data.Store',
requires : [
'MVC.model.Note'
],
storeId : 'TestStore',
model : 'MVC.model.Note',
autoLoad: true,
proxy: {
type: 'rest',
url: 'rest/notes',
reader: {
type: 'json',
rootProperty: 'data'
},
writer: {
type: 'json'
}
}
});
和网格:
Ext.define('MVC.view.NotesGrid', {
extend: 'Ext.grid.Panel',
xtype: 'notesGrid',
title: 'Note-list',
// store: 'Notes',
store: 'TestStore',
columns: [
{
text: 'Name',
dataIndex: 'name',
flex: 1
},
{
text: 'Creation Date',
xtype: 'datecolumn',
format: 'd-m-Y',
dataIndex: 'createDate',
flex: 1
},{
text: 'Last Modified',
xtype: 'datecolumn',
format: 'd-m-Y',
dataIndex: 'modifiedDate',
flex:1
}, {
text: 'Text',
dataIndex: 'noteText',
flex: 3
}
]
});
答案 0 :(得分:1)
不回答主要问题,只回答你的问题:
Ext.define()
商店时,您可以定义该类。Ext.create()
商店时,您可以定义实例。班级不能保存任何数据,只有实例可以。
如果将商店的类名添加到主stores
文件中应用程序定义中的Application.js
数组,则告诉应用程序创建该类的一个全局存储实例。
从具有固定商店标识的商店类,您只能为每个应用程序创建一个实例;从没有固定storeId的商店类中,您可以创建多个实例(例如,每个网格一个)。