Sencha 2 - 在视图中调用函数

时间:2012-08-31 11:51:28

标签: sencha-touch-2

这是我在配置对象中查看的片段:

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()”调用它们的方式不起作用,我该如何调用它们?

1 个答案:

答案 0 :(得分:0)

你不能这样做。在创建时,此引用全局Window对象,而不是Sencha类。要解决此问题,您必须在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;
    }
})

干杯,奥列格