0
我正在使用ExtJs版本5.0.0.970。我有一个Json文件,它具有与模型相关的配置。以下是JSON文件的结构 -ExtJs - 如何使用包含模型配置的json文件动态地创建Ext.data.Model的实例
{
"model": {
"requires": ["Ext.data.Field"],
"fields": [
{
"name" : "carName",
"mapping" : "carName"
},
{
"name" : "carPrice.currency",
"mapping" : "carPrice.currency"
}
]
}
}
使用上面的Json我试图通过以下方式动态地创建一个模型 -
//gridModelJsonData variable contains the content of json.model object
Ext.create("Ext.data.Model",gridModelJsonData);
只要上面的代码行执行我是在控制台中出现跟随错误 -
Model.js?_dc=1471922882661:2367 Uncaught TypeError: Cannot read property 'length' of undefined
Ext.data.Model#rankFields @ Model.js?_dc=1471922882661:2367
Ext.data.Model#makeInitializeFn @ Model.js?_dc=1471922882661:2824
Ext.data.Model#constructor @ Model.js?_dc=1471922882661:378
Ext.data.Model @ Class.js?_dc=1471922882661:29
Ext.create1 @ VM11599:3create @ ClassManager.js?_dc=1471922882661:1413
请让我知道如何解决这个问题! 谢谢!
谢谢Dhananjay! 我有以下两个疑问与您提供的答案有关 - 1.在创建实例之前是否必须定义模型对象。不能我们直接创建对象的Ext.data.Model 2.此外,你已经创建了一个carModels [],我可以将它绑定到Ext.data.Store? –
是的,你不能在5.0.1以下的版本中创建'Ext.data.Model',看到这个[post](https://www.sencha.com/forum/showthread.php?311864-Error-calling- new-Ext.data.Model())。在[docs](https://docs.sencha.com/extjs/5.0.0/Ext.data.Model.html)中搜索“商店中的使用情况”,例如 – Dhananjay
好了。谢谢Dhananjay! –