貧弱な英語力での切ない日本語訳なので、
間違っているところがあれば教えてください><
原文:http://backbonejs.org/#changelog
- Events に listenTo と stopListening が追加されました。これらは
onやoffに対して inversion-of-control 的に使うことができます。あるオブジェクトがlistenしているすべてのイベントをunbindするのに便利です。view.remove()は自動的にview.stopListening()をコールします。 - コレクションに対して
addを使う際に{merge: true}を渡すことで、重複したモデルを無視する代わりに、既存のモデルに属性値をマージすることができるようになりました。 - モデルの集合を”賢く”アップデートできる
update(fetchのオプションとしても利用できます)メソッドが追加されました。 -
saveをする際に{patch: true}を渡すことでHTTP PATCHがサポートされます。 -
BackboneオブジェクトがEventを継承しています。よってグローバルなイベントバスとしてそれを使うこともできます。 - RouterのURLでオプション部分を正規表現を使わなくても括弧で表現できるようになりました。
- EventsがNodeの
onceやjQueryのoneのようなonceをサポートしました。 - EventsがjQueryスタイルの
obj.on({click: action})のようなイベントマップをサポートしました。 - resetイベントを監視している際に、
options.previousModelsで前回のモデルのリストにアクセスできるようになり便利になりました。 - “silent”な変更の際にもValidationが走るようになりました。これによって
isValidメソッドがなくなりました。 - mixed-mode APIのために、
Backbone.syncがemulateHTTPとemulateJSONをインラインオプションで受け付けるようになりました。 -
CollectionがUnderscoreのエイリアスのメソッド名をプロキシするようになりました(collect, inject, foldl, foldr, head, tail, takeなど)。 -
getByCidがCollectionから無くなりました。collection.getがidとcid両方で検索するようになりました。 -
parse関数が定義されていれば、Ajaxコールの後でなくても常に実行されるようになりました。 - Router定義の際の先頭と末尾のスラッシュの正規化におけるバグを修正しました。現在はそのスラッシュがあってもなくても挙動は変わりません。
- Viewを定義する際、実行時に値を決めたい場合、
options,el,tagNameは関数として定義されるようになりました。 - デフォルトの
$.ajaxのオーバーライドをもっと便利にするためにBackbone.ajaxが追加されました。AJAXは古すぎるという場合にはそれにサーバ通信する好きなメソッドを設定してください。 -
Collection#sortがresetイベントの代わりにsortイベントを発行するようになりました。 - モデルで
destroyを実行したときにそのモデルがisNewであった場合falseが返るようになりました。