Backbone 1.1.0视图 – 阅读选项
Backbone.js 1.1.0的更新日志指出:
骨干视图不再自动附加选项传递给构造函数this.options,但你可以自己动手,如果你喜欢。
我的问题是我现在怎么办? 以前,我有这个this.var = this.options.var
定期在我的意见。
如果你想访问传递的选项 – 只需保存它们:
initialize: function (options) { this.options = options || {}; }
如果你使用ES6:
initialize (options = {}) { this.options = options; }
如果你想保存所有Backbone.View
的传递选项,你可以覆盖像下面 build议的 ncksllvn constructor
。
在某些情况下,我的团队已经投入了使用this.options
,并且我不想为每个Backbone.View子类修改initialize
方法。 一旦Backbone被加载,我们重写与McGarnagle的答案类似的Backbone.View constructor
,但通过无缝集成:
// 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);
另外值得一看的backbone.viewOptions为最低限度执行视图选项,支持白名单和默认值。