mvc でのクライアント側のデータ バインディングの回避策はありますか。クライアント側で観察可能なパターンを何らかの方法で実装するようなものを探していますか?
1 に答える
ノックアウトを見てください。それはあなたが求めているもののようなものを提供するかもしれません
彼らのサイトから
宣言型バインディング簡潔で読みやすい構文を使用して、DOM 要素をモデル データに簡単に関連付けます
UI の自動更新データ モデルの状態が変わると、UI が自動的に更新されます
依存関係の追跡モデル データ間の関係のチェーンを暗黙的に設定し、それを変換して結合する
モデル データの関数として、洗練された入れ子になった UI をすばやく生成します
また
Knockout は、基盤となるクリーンなデータ モデルを使用して、リッチでレスポンシブな表示とエディターのユーザー インターフェイスを作成するのに役立つ JavaScript ライブラリです。動的に更新される UI のセクションがある場合 (たとえば、ユーザーのアクションや外部データ ソースの変更に応じて変更される場合)、KO はそれをより簡単かつ保守的に実装するのに役立ちます。
見出しの特徴:
洗練された依存関係の追跡 - データ モデルが変更されるたびに、UI の適切な部分を自動的に更新します。宣言型バインディング - UI の一部をデータ モデルに接続するためのシンプルで明白な方法。任意にネストされたバインディング コンテキストを使用して、複雑な動的 UI を簡単に構築できます。簡単に拡張可能 - カスタム動作を新しい宣言バインディングとして実装し、わずか数行のコードで簡単に再利用できます。
JSON オブジェクトが既にクライアントに返されている場合にビューモデルを作成する際の追加作業の一部を防ぐために、Knockout Mapping プラグインを使用できます。
Knockout は、任意の JavaScript オブジェクトをビュー モデルとして使用できるように設計されています。ビュー モデルのプロパティの一部がオブザーバブルである限り、KO を使用してそれらを UI にバインドできます。UI は、オブザーバブル プロパティが変更されるたびに自動的に更新されます。
ほとんどのアプリケーションは、バックエンド サーバーからデータをフェッチする必要があります。サーバーにはオブザーバブルの概念がないため、単純な JavaScript オブジェクト (通常は JSON としてシリアル化されます) を提供するだけです。マッピング プラグインを使用すると、プレーンな JavaScript オブジェクトを、適切なオブザーバブルを使用してビュー モデルにマッピングする簡単な方法が提供されます。これは、サーバーからフェッチしたデータに基づいてビュー モデルを構築する独自の JavaScript コードを手動で作成する代わりの方法です。
同様のことを行う他のフレームワークもあります。
「大きな」フレームワークを使用せずに実装したい場合は、これを見てください。