Backbone.js 經過了半年終於在 10 月 Release 了 1.1.0 版本,這次升級最重要的一點就是,Backbone 本來在 View 有支援 options,讓你可以透過初始化過程,將自定額外的 key 及 value 帶入,並且可以隨時透過 this.options.key 的方式取得資料。直接給例子來解說好了
this.example = new Backbone.View.extend({ template_name: "user_edit", el: "#main" });上面是宣告 Backbone.view 的寫法,程式設計師可以傳入 object 設定,並且可以在程式任意地方,使用
this.example.options.template_name 方式來得到 user_edit 值,如果是使用 Backbone 1.1.0 之前的版本都沒問題,要升級到 1.1.0,又想要此功能,請務必在 view 的宣告前就必須加一段程式碼(後面解說)。為什麼作者會拿掉呢?因為有開發者發 issue 說為什麼 View 有這功能,那 Model 為什麼沒有呢?,這會讓未來加入開發的程式設計師感到困擾,所以作者就決定拿掉這塊
_configure: function(options) { if (this.options) options = _.extend({}, _.result(this, 'options'), options); _.extend(this, _.pick(options, viewOptions)); this.options = options; },當然,也有熱心的開發者
var View = Backbone.View Backbone.View = View.extend({ constructor: function (options) { this.options = options; View.apply(this, arguments); } });其他的修正就沒什麼地方需要注意的了,這也難怪 Backbone 一些 Plugin 尚未升級到 1.1.0 相容性的關係 XD
See also
- ScaleDrone Websocket 平台從 Node.js 轉換到 Golang
- 6to5 JavaScript Transpiler 重新命名為 Babel
- 成立 iojs 台灣群組
- Backbone.js 1.1.1 Release 釋出 AMD 版本
- 前端工程師必看 JavaScript The Right Way
- Javscript 18 歲生日歷史演進
- jquery-serialize-object 不支援 IE7,8 瀏覽器?
- CodeIgniter REST Server with Backbone.js Issue
- Coding on workspace of Chrome Developer tools
- Backbone Routing pushState in IE