Collections in backbone js don't allow you to set
attributes, but I often find that there is need to store some meta-information about a collection. Where is the best place to set that information?
js Get model is used to get the value of an attribute on a model. Syntax: model. get(attribute)
Backbone. Backbone has been around for a long time, but it's still under steady and regular development. It's a good choice if you want a flexible JavaScript framework with a simple model for representing data and getting it into views.
Advertisements. Collections are ordered sets of Models. We just need to extend the backbone's collection class to create our own collection. Any event that is triggered on a model in a collection will also be triggered on the collection directly.
Just .extend
the collection with a meta data storage function.
var MyCollection = Backbone.Collection.extend({ initialize: function() { ... this._meta = {}; }, model: ... meta: function(prop, value) { if (value === undefined) { return this._meta[prop] } else { this._meta[prop] = value; } }, }); var collection = new MyCollection(); collection.add(someModels); collection.meta("someProperty", value); ... var value = collection.meta("someProperty");
There may be better places for storing specific meta data but this depends completely on what the meta data is.
For storing generic meta data extending your collection constructor with a method to do deal with that should work.
Be wary that if this meta data needs to be stored and loaded from the server then you've got a bigger task at hand.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With