0

メイト、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は関数ではありません

4

1 に答える 1

1

私はその問題を解決しました。コードを変更する必要がありました。DateJSの最新バージョンでは、getMonthName/getDayNameはもうありません。ここで、月の名前を印刷するには、次を使用します。

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

または1日:

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

別の問題が発生しましたが、別のスレッドを開きます。

ありがとう!

于 2013-03-06T21:33:54.133 に答える