Posted at

Backbone.js 0.9.9 のChangelogを適当に日本語訳してみた

More than 5 years have passed since last update.

貧弱な英語力での切ない日本語訳なので、

間違っているところがあれば教えてください><

原文:http://backbonejs.org/#changelog


  • Events に listenTo と stopListening が追加されました。これらは onoff に対して 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.syncemulateHTTPemulateJSONをインラインオプションで受け付けるようになりました。


  • CollectionがUnderscoreのエイリアスのメソッド名をプロキシするようになりました(collect, inject, foldl, foldr, head, tail, takeなど)。


  • getByCidがCollectionから無くなりました。collection.getidcid両方で検索するようになりました。


  • parse関数が定義されていれば、Ajaxコールの後でなくても常に実行されるようになりました。

  • Router定義の際の先頭と末尾のスラッシュの正規化におけるバグを修正しました。現在はそのスラッシュがあってもなくても挙動は変わりません。

  • Viewを定義する際、実行時に値を決めたい場合、options, el, tagNameは関数として定義されるようになりました。

  • デフォルトの$.ajaxのオーバーライドをもっと便利にするためにBackbone.ajaxが追加されました。AJAXは古すぎるという場合にはそれにサーバ通信する好きなメソッドを設定してください。


  • Collection#sortresetイベントの代わりにsortイベントを発行するようになりました。

  • モデルでdestroyを実行したときにそのモデルがisNewであった場合falseが返るようになりました。