從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