Marionette - 构造函数与初始化
Marionette - constructor vs initialize
我注意到 Marionette 视图定义了 constructor
方法,而不是 initialize
。它的目的是什么 - 为什么不直接使用 Backbone 的 initialize
,它在实例化期间仍然被调用?
在您自己的 View
类型中实现 initialize
很常见。
如果使用 Marionette 视图 initialize
,您需要记住调用父方法以获得默认行为。您的大部分视图看起来像这样:
var MyView = Marionette.ItemView.extend({
initialize: function(options) {
Marionette.ItemView.prototype.initialize.call(this);
this.x = options.x;
}
});
这不是必需的,因为 Marionette 使用 constructor
而不是 initialize
。
我注意到 Marionette 视图定义了 constructor
方法,而不是 initialize
。它的目的是什么 - 为什么不直接使用 Backbone 的 initialize
,它在实例化期间仍然被调用?
在您自己的 View
类型中实现 initialize
很常见。
如果使用 Marionette 视图 initialize
,您需要记住调用父方法以获得默认行为。您的大部分视图看起来像这样:
var MyView = Marionette.ItemView.extend({
initialize: function(options) {
Marionette.ItemView.prototype.initialize.call(this);
this.x = options.x;
}
});
这不是必需的,因为 Marionette 使用 constructor
而不是 initialize
。