Javascript 初始化存储';Extjs中的s数据
我有store,我想从数据库中初始化它,但是我找不到Javascript 初始化存储';Extjs中的s数据,javascript,extjs,extjs4,extjs-mvc,extjs-stores,Javascript,Extjs,Extjs4,Extjs Mvc,Extjs Stores,我有store,我想从数据库中初始化它,但是我找不到Ext.data.store的标准init方法。我找到了几个使用StoreManager组件的示例,但我认为这不是我想要的。我的应用程序有一个MVC结构,我想保留它,我只想使用我定义的方法初始化我商店的数据字段。有人能解释一下怎么做吗?我要么理解错了,要么你的问题是直截了当的。您可以使用这样的模型配置存储。这就是全部。您可以选择适合您需要的提供商(读写器) // Set up a model to use in our Store Ext.
Ext.data.store
的标准init方法。我找到了几个使用StoreManager
组件的示例,但我认为这不是我想要的。我的应用程序有一个MVC结构,我想保留它,我只想使用我定义的方法初始化我商店的数据字段。有人能解释一下怎么做吗?我要么理解错了,要么你的问题是直截了当的。您可以使用这样的模型配置存储。这就是全部。您可以选择适合您需要的提供商(读写器)
// Set up a model to use in our Store
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type: 'string'},
{name: 'lastName', type: 'string'},
{name: 'age', type: 'int'},
{name: 'eyeColor', type: 'string'}
]
});
Ext.define('YourMVCNameSpace.data.UserStore', {
extend: 'Ext.data.Store',
constructor: function (config) {
config = Ext.Object.merge({}, config);
var me = this;
// do what you need with the given config object (even deletes) before passing it to the parent contructor
me.callParent([config]);
// use me forth on cause the config object is now fully applied
},
model: 'User',
proxy: {
type: 'ajax',
url: '/users.json',
reader: {
type: 'json',
root: 'users'
}
},
autoLoad: true
});
请注意,读者会期望得到如下Json结果:
{"total": 55, "users":["...modeldata.."]}
指的是像
http://localhost/YourAppDomain//users.json
将存储作为“用户”放置在控制器存储阵列中,并通过调用getUserStore()
在控制器中检索它,或使用Ext.StoreMgr.lookup(“用户”)直接从Ext.StoreMgr检索它
请注意,按照惯例,控制器(MVC)将覆盖您在存储上设置的任何存储ID,并且只使用名称。我想我几乎可以理解它,但您能否解释一下配置参数的确切含义以及构造函数需要它的原因?@Peter这是用于克隆配置,以便您不修改原始配置对象。商店没有组件,因此有点不同。这是一个很好的实践,但大多数情况下,即使没有任何构造函数,也不会有任何问题。