我正在使用Sencha应用程序并且无法访问我定义的基本模型的字段。我使用Ext.define
来定义模型,使用Ext.create
来创建它的实例。根据文档,我应该能够通过在字段上调用get.(<fieldname>)
来访问其字段,但它不起作用并且它返回null。这是基本代码,以及jsfiddle。
Ext.define('App.model.Patient', {
extend: 'Ext.data.Model',
config: {
fields: ['admissionGuid',
'firstName', 'middleInitial', 'lastName', 'visitType',
{ name: "visitDate", type: 'date'}]
}
});
var newVisit = Ext.create('App.model.Patient', {
admissionGuid: 1234,
firstName: "FirstName",
middleName: "MiddleName",
lastName: "LastName",
visitType: "Revisit",
visitDate: new Date()
});
alert(newVisit.get('admissionGuid')); // returns null
答案 0 :(得分:1)
您传递的数据存储在raw参数中,请尝试使用
alert(newVisit.raw.admissionGuid);
这应该有效
答案 1 :(得分:1)
使用Sencha Touch 2您的代码是正确的。我已经对它进行了测试,并且按预期工作。在这里使用ST:http://www.senchafiddle.com/#6Q9ac
ExtJS和Sencha Touch共享类似的类系统,但它们并不相同。
答案 2 :(得分:0)
只是另一种方式,
我们也可以通过以下方式访问模型内的数据:
*instanceOfModel*.data.*fieldName*
所以例如使用给定的代码将是:
newVisit.data.admissionGuid