所以,我正在学习backbone.js,并且正在以下面的例子在一个视图中迭代一些模型.第一个片段的作用,当其他的underscore.js为基础的一个没有.为什么?
// 1: Working this.collection.each(function(model){ console.log(model.get("description")); }); // 2: Not working _.each(this.collection,function(model){ console.log(model.get("description")); });
我做错了什么,因为我看不到自己?
解决方法
this.collection是一个实例,而this.collection.each是一个方法,它遍历封装下的正确对象,该对象是集合实例的.models属性.
有了这个说法,你可以试试:
_.each(this.collection.models,function(model){ console.log(model.get("description")); });
这是完全没有意义的,因为this.collection.each是一个类似于以下功能的函数:
function(){ return _.each.apply( _,[this.models].concat( [].slice.call( arguments ) ) ); }
所以你也可以使用this.collection.each; P