我很好奇为什么我的Backbone视图会自动在initialize函数中有一个选项对象,如下所示:
initialize: function (opts) {
//opts object contains properties like 'context' and 'prevObject', what is that?
this.options = opts || {};
}
你可以在这里看到(用ctrl +放大)
但是,Backbone集合在initialize函数中没有任何预定义的参数。为什么不一致?
我用空构造函数实例化我的视图,如:
new HomeView();
所以我知道我没有明确地将任何选项传递给视图。
所以它必须是Backbone在幕后做的事情,但我想知道发生了什么。
答案 0 :(得分:2)
除非你在构造函数中传递一些东西,否则它不会传递任何东西。 HomeView是否扩展了vanilla Backbone.View?
var MyView = Backbone.View.extend({
initialize: function() {
console.log(arguments); // 0 args
}
});
new MyView();