你如何获得野外属性

时间:2012-11-15 02:51:48

标签: sencha-touch-2

我正在使用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

3 个答案:

答案 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