从fine manual:
构造函数/初始化new View([options])
有几个特殊选项,如果获得通过,将直接附在视图上:model
,collection
,el
,id
,className
,tagName
,attributes
和events
。
所以,如果你创建这样一个观点:
new View({collection: c})
然后骨干将自动分配给c
视图的this.collection
。但是,如果你创建一个这样的观点:
new View({collection: c, secondCollection: c2})
然后在视图的构造函数中:
initialize: function(options) {
// this.collection will be 'c' from above
// options.secondCollection will be 'c2'
}
所以,你可以这样做:
var View = new MyCollectionView({
collection: new MyCollection(),
secondCollection: new MySecondCollection()
});
前提是你的MyCollectionView
有initialize
方法知道从options
参数中拉出secondCollection
。
打开JavaScript控制台以及在什么这样做看看:
var V = Backbone.View.extend({
initialize: function(options) {
var c1 = options.collection;
var c2 = options.secondCollection;
console.log(this.collection);
console.log(c1);
console.log(c2);
}
});
var view = new V({collection: 1, secondCollection: 2});
演示:http://jsfiddle.net/ambiguous/XyeSD/
非常感谢! 'this.options'确实是我需要的! – ValeriiVasin 2012-02-01 11:07:32