2013-03-06 2 views
0

Mates, Я пытаюсь получить имя месяца от объекта DateJS. Если я console.log объекта, я получаю все его функции. Но если я пытаюсь использовать, например getMonthName/getDayName/isBefore/isAfter/etc, y получает сообщение об ошибке, говорящее, что функция не существует.DateJS - this.fecha.getMonthName не является функцией

Любая идея?

Спасибо!

UPDATE:

Это мой код:

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 не является функцией

+0

Поделитесь результатами и примером того, что не работает. – Mathletics

ответ

0

Я решил эту проблему. Мне пришлось изменить свой код. Оказывается, что в последней версии DateJS больше нет getMonthName/getDayName. Теперь, чтобы напечатать название месяца, вы используете:

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

Или день:

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

Теперь я получаю еще один вопрос, но я открою еще одну нить.

Спасибо!

Смежные вопросы