9

日のコレクションであり、毎日が予定のコレクションであるカレンダーを作成したいと考えています。day オブジェクトの構造は次のとおりです。

day:{
    date:'08-06-2012',
    appointment: {
        time_begin:'12:55',
        time_end: '16:40',
        customer: 'Jaime'
    }
}

現時点では、私はこのモデルとビューを持っています:

// CALENDAR COLLECTION
App.Calendar.Collection = Backbone.Collection.extend({
    // MODEL
    model: App.Day.Model
}

カレンダー コレクションがサーバーからデータを取得すると、予定を含む完全な日オブジェクトが取得されます。

// CALENDAR VIEW
App.Calendar.View = Backbone.Marionette.CompositeView.extend({
    // TEMPLATE
    template: Handlebars.compile(templates.find('#calendar-template').html()),
    // ITEM VIEW
    itemView: App.Day.View,
    // ITEM VIEW CONTAINER
    itemViewContainer: '#calendar-collection-block'
});

// DAY MODEL
App.Day.Model = Backbone.Collection.extend({
    // PARSE
    parse:function(data){
        console.log(data);
        return data;
    }
});

// DAY VIEW
App.Day.View = Backbone.Marionette.CompositeView.extend({
    collection: App.Day.Model,
    itemView: App.CalendarAppointment.View, //---->I NEED TO DEFINE THIS, NOT SURE HOW
    template: Handlebars.compile(templates.find('#day-template').html())
});

日モデルは予定のコレクションである必要があり、サーバーからデータをフェッチする必要はありません。これは毎日の内部にあるためです。

これどうやってするの?

4

2 に答える 2

15

私が質問を正しく理解していれば、Dayモデル、AppointmentコレクションからCalendarApointmentViewitemViewにデータを取得する方法を尋ねていますか?

この複合ビューDay.Viewを設定するように設定できますcollection。これは、アイテム ビューにプッシュされます。


// DAY VIEW
App.Day.View = Backbone.Marionette.CompositeView.extend({
    collection: App.Day.Model,
    itemView: App.CalendarAppointment.View,
    template: Handlebars.compile(templates.find('#day-template').html()),

    initialize: function(){

      // since `this.model` is a `Day` model, it has the data you need
      this.collection = this.model.get("CalendarAppointments");

    }
});

1 つの注意点: はthis.collection有効な Backbone.Collection である必要があります。モデルが予定データを単純な配列として保存する場合は、次のようにする必要があります。


var appointments = this.model.get("CalendarAppointments");
this.collection = new AppointmentCollection(appointments);

それが役立つことを願っています。

于 2012-08-29T01:22:03.173 に答える
2

これは、ネストされたデータの解析とネストされたコレクション構造の作成を自動的に処理するbackbone-relationalの完璧なユースケースのようです。

于 2012-08-28T23:34:59.917 に答える