クライアント側のフォーム操作APIの内部でknockout.jsを使用しています。これは、タブ、フィールドセット(タブに含まれる)、および個々のフォームコントロール(フィールドセットに含まれる)で構成される「階層」フォームを操作するように設計されています。
私の戦略は、これらのコンポーネントごとに個別のビューモデルを作成することです。私の質問は、モデルの状態を階層の「下向き」にどのように最適に伝播できるかということです。(たとえば、タブがプログラムで無効になっている場合、含まれているすべてのフィールドセットとそのフォームコントロールも無効にします)
私は最初のアプローチをスケッチするためにjsfiddleを準備しました:
http://jsfiddle.net/fbuchinger/bxNKg/4/
dom側では、これまでのところすべてが正常に見えますが、グループの「編集可能」状態がフォームコントロールのモデルに下向きに伝播されていないことに気付きました(PRENAME.editable
プロパティはまだtrue
、あるべきですがfalse
)。より良いアプローチはありますか?