2015-03-06 4 views
0

У меня возникли проблемы с созданием экземпляра CollectionView в Marionette 2.4.1. Это действительно простой пример. Не уверен, что происходит. Похоже на ошибку Марионетты.Marionette 2.4.1 Не удается создать экземпляр CollectionView

var AppointmentModel = Backbone.Model.extend({ 
}); 

var AppointmentCollection = Backbone.Collection.extend({ 
    model: AppointmentModel 
}); 

var TimeSlotView = Marionette.ItemView.extend({ 
}); 

var AppointmentCollectionView = Marionette.CollectionView.extend({ 
    childView: TimeSlotView 
}); 

Вот шаблон:

<script id="time-slot-template" type="text/template"> 
    <div class="col-xs-4"> 
    <button class="btn-time-slot" data-appointment-time="<%= date %>"> 
     <%= date %> 
    </button> 
    </div> 
</script> 

Основной код:

//...inside ajax success 

// result looks like this: 
// [ "2015-1-2", "2015-1-17", "2015-2-1", "2015-2-8" ] 

var appointmentCollection = new AppointmentCollection(result.map(function(apt){ 
    return new AppointmentModel({ date: apt }); 
})); //browser console shows a good valid collection 

var appointmentCollectionView = new AppointmentCollectionView({ collection: appointmentCollection }); 
// Undefined is not a function 

Что я делаю неправильно?

ответ

1

Не похоже, что с кодом, который вы опубликовали, что-то не так.

Может подтвердить это работает хорошо для меня ... http://jsfiddle.net/nuewwdmr/

Единственное изменение я сделал было включить idAttribute в модели, но это не произвело бы эффект этот вопрос вы имеете.

var AppointmentModel = Backbone.Model.extend({ 
    idAttribute: 'date' 
}); 

Единственное, что я могу думать о том, что марионетка имеет зависимость от Няни и Wreqr (а также подчеркивание, Backbone, очевидно). Вы включили эти зависимости?

+0

Вы абсолютно правы –

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