Take the 2-minute tour ×

I have the following CompositeView(1).
I am wondering what is the best way, for each model of MyCollection, to render two templates and views in order to make something like that(2).


var MyCompositeView = Marionette.CompositeView.extend({

    template: myTemplate,

    itemView: myView,

    collection: new MyCollection(),

    initialize: function () {

    appendHtml: function (collectionView, itemView) {



    appendHtml: function (collectionView, itemView1, itemView2) {
share|improve this question
Have you made any progress on this since you posted? I'm dealing with a very similar issue -- stackoverflow.com/questions/16039722/… –  streetlight Apr 16 '13 at 19:21

1 Answer 1

Another way to achieve your goal, the result should be the same, is to define onRender funciton in Marionette.ItemView:

Your code in Marionette.ItemView should look like this:

    onRender: function () {
        var itemView2 = new ItemView2();

share|improve this answer
Does this nullify the need for a composite view? Or is this the itemView that's being called in the composite view? Would there be any way you can show an example? –  streetlight Apr 16 '13 at 19:20

Your Answer


