I'm just learning backbone. I have the following
window.ServerList = Backbone.Collection.extend({
model: Server,
cpuTotal: function(){
if (!this.length) return 0;
/*
* NOT SURE HOW TO SUM THEM
* this.get('cpu') is an integer for each of the collections
*/
return this.get('cpu');
}
});
I'm calling this from the render method of a view like this
window.AppView = Backbone.View.extend({
// ....
render: function(){
var total_cpu = ServerList.cpuTotal();
var items = ServerList.length;
}
});
The variable total_cpu is always empty but items is always correct. Any ideas ?
I know my collection is working as I have plenty of items in there, but I need to add up all the CPU's from each item in the collection for the page summary.
For those who know the todos example http://documentcloud.github.com/backbone/docs/todos.html I have a very similar setup.
Here is the best way I know how:
cpuTotal: function() {
return this.reduce(function(memo, value) { return memo + value.get("cpu") }, 0);
}
Here is a jsFiddle of the solution.
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