0

Ok thaht might not be too clear.

I passed a collection to my view. My collection has a Model, and the Model has defaults in an array. When I log the collection from the View it shows no length. But there are 4 defaults in my model. How can I get the default of my model to my view?

The call to view:

var menuLinks = new App.Collections.MenuLinks ;
var newView = new App.Views.Navbar({ collection: menuLinks }) ;

View:

App.Views.Navbar = Backbone.View.extend({

   initialize: function(){

   console.log(this.collection) ;
     //this.render() ;

   }

});

COllection:

App.Collections.MenuLinks = Backbone.Collection.extend({

model: App.Models.MenuLinks

});

Model:

App.Models.MenuLinks = Backbone.Model.extend({

//Default menus
defaults:[
    {
        name: 'Home',
        href: ''
    },
    {   name: 'Trips',
        href: '#trips'
    },
    {   name: 'Login',
        href: '#login'
    },
    {   name: 'LogoutOhYeah',
        href: '#logout'
    },
]

 });
Got The Fever Media
  • 750
  • 1
  • 9
  • 27

1 Answers1

0

So... you simply want something like:

var collection = this.options.collection, defaults;
defaults = collection.length && collection.models[0].defaults ||{};
Loamhoof
  • 8,293
  • 27
  • 30