如何将对象数组转换为模型对象数组
How to convert array of object to array of model object
I have a model defined as BUS having fields tyre (string), color(string) , company(string
)。在主面板中,一个 ajax 试图读取数据,另一个由某些 Web 服务 call.Both 读取数据,这需要显示在同一个 GRID 上。
在商店中,我正在创建一个记录数组,其中有两个数组,一个由 ajax 调用准备,另一个由 webservice data.I 调用方法并从 webservice 获取数据并推送它到主记录数组,它确实有数据,但它存储的对象类型不同。
当使用 chrome 开发工具检查时,在我看来,从 ajax 准备的一个相当于模型,另一个只是对象,下面有一些 fields.The model:function 指向定义的模型。
data:Object > this have values exactly like my webservice array object.
dirty:false
editing:false
events:Object
id:"travel.data.model.BUS-ext-record-1613"
index:2
internalId:"ext-record-1613"
modified:Object
phantom:true
raw:Object
store:m
我从 webservice 获得的对象就像数组中的普通对象,我基本上将其组合并尝试在 GRID 上显示,但 GRID 仅显示上述类型的对象。
data : Object > see this object does not have those other properties
tyre: "eight"
color: "blue"
在推入主数组之前是否需要将其转换为模型类型?
您可以遍历普通对象数组并使用 Ext.create() 使用普通对象中的数据创建模型记录。
有点像这样。
var modelObjectArray = [];
Ext.Array.each(normalObjectArray, function(normalObject, index, normalObjectArrayItSelf) {
var modelObject = Ext.create('Complete.Model.Name', normalObject);
modelObjectArray.push(modelObject);
});
这样你会得到一个对象数组,这些对象是模型记录
I have a model defined as BUS having fields tyre (string), color(string) , company(string
)。在主面板中,一个 ajax 试图读取数据,另一个由某些 Web 服务 call.Both 读取数据,这需要显示在同一个 GRID 上。
在商店中,我正在创建一个记录数组,其中有两个数组,一个由 ajax 调用准备,另一个由 webservice data.I 调用方法并从 webservice 获取数据并推送它到主记录数组,它确实有数据,但它存储的对象类型不同。
当使用 chrome 开发工具检查时,在我看来,从 ajax 准备的一个相当于模型,另一个只是对象,下面有一些 fields.The model:function 指向定义的模型。
data:Object > this have values exactly like my webservice array object.
dirty:false
editing:false
events:Object
id:"travel.data.model.BUS-ext-record-1613"
index:2
internalId:"ext-record-1613"
modified:Object
phantom:true
raw:Object
store:m
我从 webservice 获得的对象就像数组中的普通对象,我基本上将其组合并尝试在 GRID 上显示,但 GRID 仅显示上述类型的对象。
data : Object > see this object does not have those other properties
tyre: "eight"
color: "blue"
在推入主数组之前是否需要将其转换为模型类型?
您可以遍历普通对象数组并使用 Ext.create() 使用普通对象中的数据创建模型记录。
有点像这样。
var modelObjectArray = [];
Ext.Array.each(normalObjectArray, function(normalObject, index, normalObjectArrayItSelf) {
var modelObject = Ext.create('Complete.Model.Name', normalObject);
modelObjectArray.push(modelObject);
});
这样你会得到一个对象数组,这些对象是模型记录