出乎意料的是,以下代码将打印Test1 undefined
而不是Test1 Test2
。
var MyView = Backbone.View.extend({
initialize: function () {
console.log(this.collection, this.test);
}
});
new MyView({collection: "Test1", test: "Test2"});
我做错了什么?
答案 0 :(得分:4)
只有选项参数中的以下属性才会合并为视图属性。
model,collection,el,id,attributes,className,tagName(See the source code)
任何其他属性都会放置在视图的选项属性中。
因此,要从initialize方法访问 test 属性,您可以按如下方式更新代码。
console.log(this.collection, this.options.test);