主干视图实例化问题



出乎意料的是,下面的代码将打印Test1 undefined而不是Test1 Test2

var MyView = Backbone.View.extend({
    initialize: function () {
        console.log(this.collection, this.test);
    }
});
new MyView({collection: "Test1", test: "Test2"});

我做错了什么?

只有以下来自选项参数的属性会被合并为视图属性。

模型、集合、el、id、属性、className、tagName(见源代码)

任何其他属性被放置在视图的options属性上。

因此,要从initialize方法中访问test属性,您可以按照如下方式更新代码。
console.log(this.collection, this.options.test);

最新更新