Question

I'm beginner in Marionette and trying to create view that renders invoice/ billing template with this data:

    data={
        name: "jems"
        date: "may 15 2014"
        dataList:[
            {
                date: "may 15 2014",
                product: "xyz",
                qty: "3",
                rate: "5",
                totalAmount: "5"
            },
            {
                date: "may 15 2014",
                product: "xyz",
                qty: "3",
                rate: "5",
                totalAmount: "5"
            },
            {
                date: "may 15 2014",
                product: "xyz",
                qty: "3",
                rate: "5",
                totalAmount: "5"
            },
            {
                date: "may 15 2014",
                product: "xyz",
                qty: "3",
                rate: "5",
                totalAmount: "5"
            }
        ]
    }

i tried to use composite view from http://jsfiddle.net/derickbailey/xX9X3/ example. but no luck.

bit confused to use collectionView,compositeView,itemView to create nested invoice type view. in some nested view examples i also found layout used that make me totally confused.

Please help!.

Thanks in Advance!

Was it helpful?

Solution

Your data is less complicated than the one in the fiddle example. You have 1 model that contains a collection. From my experience this calls for a combination of CompositeView + ItemView for each collection member.

<script id="invoice-template" type="text/template">
<%= name %> on <%= date %>:

<ul></ul>
</script>

<script id="billing-template" type="text/template">
    <%= date %>, <%= totalAmount %>$ for product: <%= product %>
</script>    

var BillingView = Backbone.Marionette.ItemView.extend({
    template: "#billing-template",
    tagName: "li"
});

var InvoiceView = Backbone.Marionette.CompositeView.extend({
    template: "#invoice-template",

    tagName: "ul",
    itemView: BillingView    
});

See here it in action: http://jsfiddle.net/xX9X3/116/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top