私は現在ASP.NETMVCソリューションに取り組んでおり、最近Knockout(MVVM JSライブラリ)とWijmo(jQuery UIウィジェットのセット)の両方を導入しました。
Knockoutの導入に伴い、クライアント側にもモデルが必要になるため、この目的のために、C#ViewModelをシリアル化し、を使用してビューにアタッチしdata-model="@Model.ToJson()"
ます。これにより、JSからモデルを取得し、クライアント側の愛をすべてに適用することができます。
ただし、ノックアウトではすべてを監視可能にする必要があるため、別のクライアント側のViewModelを宣言し、データモデルオブジェクトからすべてをマップする必要があります。これは重複した努力のように感じます、そして私はそれをどうにかして避けたいです。
誰かが共有するツールまたはテクニックを持っていて、サーバーから直接ノックアウトViewModelをレンダリングできるようになることを望んでいます。考えられる解決策は次のとおりです。
- 監視可能なビューモデルをdata-model属性の出力に直接レンダリングするカスタムJSONシリアル化。
- クライアント側の自動変換(ko-autobindについて聞いたことがありますが、それが推奨されるパスであるかどうか、またはそれがどれほど安定しているか/完全であるかはわかりません)
- 私が考えていなかった何か
観察可能なクライアント側のビューモデルを手動で入力するという現在のアプローチは非生産的すぎて実行できないため、ソリューションを一般的かつ自動化する必要があります。
この問題をどのように解決していますか?