Backbone.js 1.1.0 的变更日志指出:
Backbone Views 不再自动附加作为 this.options 传递给构造函数的选项,但如果您愿意,您可以自己做。
我的问题是我现在该怎么做?以前,我this.var = this.options.var
经常在我的看法。
Backbone.js 1.1.0 的变更日志指出:
Backbone Views 不再自动附加作为 this.options 传递给构造函数的选项,但如果您愿意,您可以自己做。
我的问题是我现在该怎么做?以前,我this.var = this.options.var
经常在我的看法。
如果您想访问传递的选项 - 只需保存它们:
initialize: function (options) {
this.options = options || {};
}
如果你使用 ES6:
initialize (options = {}) {
this.options = options;
}
如果你想保存所有传递Backbone.View
的选项,你可以constructor
像下面建议的ncksllvn 那样覆盖。
我的团队已经this.options
在某些情况下投入使用,我不想为initialize
Backbone.View 的每个子类都修改和修改方法。加载 Backbone 后,我们会覆盖与constructor
McGarnagle 的答案类似的 Backbone.View,但可以无缝集成:
// Compatibility override - Backbone 1.1 got rid of the 'options' binding
// automatically to views in the constructor - we need to keep that.
Backbone.View = (function(View) {
return View.extend({
constructor: function(options) {
this.options = options || {};
View.apply(this, arguments);
}
});
})(Backbone.View);
Also worth taking a look a backbone.viewOptions for a minimalist implementation of view options that supports white listing and default values.