Ext.ModelManager.getModel 已在 extjs 5 中弃用
Ext.ModelManager.getModel has been deprecated in extjs 5
我是 upgrading my extjs 4.2 app to extjs 5.1
.
在 ExtJs 4.2
中,我有创建 dynamic module
的代码,但是
in ExtJs 5.1 Ext.ModelManager.getModel has been deprecated
and as
per ExtJs 5.1 docs it saying use Ext.data.schema.Schema
instead.
我尝试使用 Ext.data.schema.Schema.lookupEntity("DynamicModel")
,但它抛出错误
[E] Ext.data.schema.Schema.lookupEntity(): 没有这样的实体 "DynamicModel".
如何在 ExtJs 5 中获取任何模型对象?
如何在 extjs 5.1 中实现 getModel() 方法的替换,请在下面找到我的代码,
if (!Ext.ModelManager.getModel('DynamicModel')){
Ext.define('DynamicModel', {
extend: 'Ext.data.Model',
idProperty : uniqueIdProperty,
fields: fields
});
} else {
Ext.ModelManager.getModel('DynamicModel').setFields(fields);
}
如果您想检查您的模型是否已经创建,那么您可以使用 isCreated of Ext.ClassManager
Ext.ClassManager.isCreated('MyModel');
如果 returns 为真,那么您可以
Ext.ClassManager.get('MyModel')
使用模式:Fiddle
if(!Ext.data.schema.Schema.instances.default.hasEntity('MyModel')){ // a default schema instance is created by default
Ext.define('MyApp.models.MyModel', {
extend: 'MyApp.models.Base',
fields: [{name: 'field'}]
});
} else {
Ext.data.schema.Schema.instances.default.getEntity('MyModel');// returns the constructor MyApp.models.MyModel()
}
如果你 运行 遇到上述语法的问题,就像我一样,因为 'default' 是一个保留字,你可以使用以下语法:
if (!Ext.data.schema.Schema.instances['default'].getEntity('MyModel')) {
...
}
IDK 为什么 Sencha 对属性使用保留字,但是...哦好吧...
我是 upgrading my extjs 4.2 app to extjs 5.1
.
在 ExtJs 4.2
中,我有创建 dynamic module
的代码,但是
in
ExtJs 5.1 Ext.ModelManager.getModel has been deprecated
and as per ExtJs 5.1 docs it saying useExt.data.schema.Schema
instead.
我尝试使用 Ext.data.schema.Schema.lookupEntity("DynamicModel")
,但它抛出错误
[E] Ext.data.schema.Schema.lookupEntity(): 没有这样的实体 "DynamicModel".
如何在 ExtJs 5 中获取任何模型对象?
如何在 extjs 5.1 中实现 getModel() 方法的替换,请在下面找到我的代码,
if (!Ext.ModelManager.getModel('DynamicModel')){
Ext.define('DynamicModel', {
extend: 'Ext.data.Model',
idProperty : uniqueIdProperty,
fields: fields
});
} else {
Ext.ModelManager.getModel('DynamicModel').setFields(fields);
}
如果您想检查您的模型是否已经创建,那么您可以使用 isCreated of Ext.ClassManager
Ext.ClassManager.isCreated('MyModel');
如果 returns 为真,那么您可以
Ext.ClassManager.get('MyModel')
使用模式:Fiddle
if(!Ext.data.schema.Schema.instances.default.hasEntity('MyModel')){ // a default schema instance is created by default
Ext.define('MyApp.models.MyModel', {
extend: 'MyApp.models.Base',
fields: [{name: 'field'}]
});
} else {
Ext.data.schema.Schema.instances.default.getEntity('MyModel');// returns the constructor MyApp.models.MyModel()
}
如果你 运行 遇到上述语法的问题,就像我一样,因为 'default' 是一个保留字,你可以使用以下语法:
if (!Ext.data.schema.Schema.instances['default'].getEntity('MyModel')) {
...
}
IDK 为什么 Sencha 对属性使用保留字,但是...哦好吧...