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

あなたのコードは、Sencha Touch 2 を使用して正しいです。私はそれをテストしましたが、期待通りに動作します。ここで ST を使用してフィドル: http://www.senchafiddle.com/#6Q9ac

ExtJS と Sencha Touch は同様のクラス システムを共有していますが、同一ではありません。

于 2012-11-15T15:03:38.177 に答える
1

渡したデータはrawパラメータに保存されるので、これを試してください

alert(newVisit.raw.admissionGuid);

これはうまくいくはずです

于 2012-11-15T05:12:21.040 に答える
0

別の方法として、

次の方法でモデル内のデータにアクセスすることもできます。

*instanceOfModel*.data.*fieldName*

たとえば、指定されたコードでは次のようになります。

newVisit.data.admissionGuid
于 2014-07-23T03:03:13.787 に答える