0

我正在开发 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
4

3 回答 3

1

您传递的数据存储在原始参数中,所以试试这个

alert(newVisit.raw.admissionGuid);

这应该工作

于 2012-11-15T05:12:21.040 回答
1

您的代码使用 Sencha Touch 2 是正确的。我已经对其进行了测试,它可以按预期工作。在这里使用 ST 小提琴:http ://www.senchafiddle.com/#6Q9ac

ExtJS 和 Sencha Touch 共享相似的类系统,但它们并不完全相同。

于 2012-11-15T15:03:38.177 回答
0

只是另一种方式,

我们还可以通过以下方式访问模型内​​部的数据:

*instanceOfModel*.data.*fieldName*

例如,对于给定的代码,它将是:

newVisit.data.admissionGuid
于 2014-07-23T03:03:13.787 回答