0

これは、構成オブジェクト内の私のビューからのスニペットです:

xtype: 'fieldset',
cls:   'loginFormText',
items:[
    {
        xtype: 'timepickerfield',
        label: 'Start',
        value: this.fromTime(),
        name:  'fromTime'
    },{
        xtype: 'timepickerfield',
        label: 'End',
        value: this.toTime(),
        name:  'toTime'
    }
]

ビューの下部には、次の機能があります。

fromTime: function(){
    var fromDate = new Date();
    fromDate.setHours(12);
},
toTime: function(){
    var toDate = new Date();
    toDate.setHours(18);
}

しかし、「this.fromTime()」と「this.toTime()」でそれらを呼び出そうとする方法は機能しません。どうすれば呼び出せますか?

4

1 に答える 1

0

あなたはそれをすることはできません。作成時、これは Sencha クラスではなく、グローバルな Window オブジェクトを参照します。回避するには、initialize() 関数でそれを行う必要があります。例えば。これはうまくいくはずです...

Ext.define (MyApp.view.CoolView, {
    xtype: 'coolview',
    config: {
        layout: 'fit'
    },

    initialize: function () {

      var items = {
        xtype: 'fieldset',
        cls:   'loginFormText',
        items:[
            {
                xtype: 'timepickerfield',
                label: 'Start',
                value: this.fromTime(),
                name:  'fromTime'
            },{
                xtype: 'timepickerfield',
                label: 'End',
                value: this.toTime(),
                name:  'toTime'
            }
        ]
      }
      this.setItems(items);
    },

    fromTime: function(){
        var fromDate = new Date();
        fromDate.setHours(12);
        return fromDate;
    },
    toTime: function(){
        var toDate = new Date();
        toDate.setHours(18);
        return toDate;
    }
})

乾杯、オレグ

于 2012-08-31T12:24:13.340 に答える