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为最低限度执行视图选项,支持白名单和默认值。