1. ホーム
  2. javascript

[解決済み] 2ウェイバインディングとは何ですか?

2022-04-14 12:17:19

質問

私はBackboneが双方向バインディングをしないことをたくさん読みましたが、私はこの概念を正確に理解していません。

どなたか、MVCコードベースで2ウェイバインディングがどのように機能し、Backboneではどのように機能しないかの例を教えていただけませんか?

どのように解決するのですか?

双方向バインディングとは、ただ

  1. モデル内のプロパティが更新されると、UIも更新されます。
  2. UI要素が更新されると、その変更がモデルに伝搬される。

Backboneには#2の実装がありません(イベントリスナーを使えば確かに可能ですが)。 他のフレームワーク Knockout のように、双方向バインディングを自動で構築することもできます。 .




Backbone では、ビューの "render" メソッドをモデルの "change" イベントにバインドすることで、簡単に 1 を達成できます。 2を実現するには、input要素にchangeリスナーを追加し、そのリスナーに対して model.set をハンドラで指定します。

フィドルはこちら で、Backboneで双方向バインディングを設定したものです。