DateJS - this.fecha.getMonthName不是函数

时间:2013-03-06 20:37:09

标签: javascript datejs

配合, 我想从DateJS对象中获取一个月份名称。 如果我console.log对象,我得到它的所有功能。但是如果我尝试使用,例如getMonthName / getDayName / isBefore / isAfter / etc,则会收到一条错误消息,说明该函数不存在。

有什么想法吗?

谢谢!

更新:

这是我的代码:

App.Views.DaysTable = Backbone.View.extend({
el: '#dtable',
template: _.template( App.Templates.DaysTable ),
templateTH: _.template( App.Templates.DaysTableTH ),

initialize: function(){
    // Defino la fecha corriente
    this.fecha = Date.today();
    // Defino los eventos de la navegacion
    var that = this;
    $('#prevWeekBtn').on('click', function(){
        that.lessWeek();
    });

    $('#nextWeekBtn').on('click', function(){
        that.plusWeek();
    });

    $('#todayBtn').on('click', function(){
        that.hoy();
    });
},

hoy: function(){
    this.fecha = Date.today();
    this.render();
},

plusWeek: function(){
    this.fecha.add(7).days();
    this.render();
},

lessWeek: function(){
    this.fecha.add(-7).days();
    this.render();
},
//between date
render: function(){

    var date = this.fecha;

    this.$el.html( this.template({ month: this.fecha.getMonthName() }) );
    var a = 1;
    while(a < 8){       
        this.$('tr#days').append( this.templateTH({dayName: date.getDayName(), dayDate: date.toString('dd')}) )
        date.addDays(1);
        a++;
    }

    this.collection.each( function(bed){
        this.fecha.add(-7).days();
        bed.set('fecha', this.fecha);
        var row = new App.Views.BookingsRow({ model: bed })
        this.$('tbody#days').append( row.render().el );
    }, this);

    this.fecha.add(-7).days();
    return this;
    // Muestro los dias en cada habitacion
}
});

这是错误消息:     TypeError:this.fecha.getMonthName不是函数

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。 我不得不改变我的代码。 事实证明,在最新版本的DateJS中,没有更多的getMonthName / getDayName。 现在,要打印月份名称,请使用:

Date.today().toString('MMMM');

或者一天:

Date.today().toString('dddd');

现在我又遇到了另一个问题,但我会打开另一个问题。

谢谢!