8

読み取り専用ビューと編集ビューを切り替えるバックボーン js のパターンを探しています。ビューのトリガーがビューの外部にある場合、適切なビュー ( readonly または edit ) を作成してレンダリングできますが、私の場合、編集ビューのトリガーは読み取り専用ビュー内にあります。

たとえば、処方箋を表示していて、デフォルトでは読み取り専用モードで、ホバリングすると編集アイコンが表示されるとします。この編集アイコンをクリックすると、読み取り専用ビューが編集ビューに置き換えられます。これを達成するための最良のアプローチは何でしょうか。以下は私が検討しているいくつかのオプションです

  1. 編集アイコンと編集モードに必要なすべてのフォーム フィールドを含む単一の PrescriptionView を用意します。また、編集トリガーに基づいてビューを読み取り専用モードから編集モードに変更するロジックも含まれます。
  2. PrescriptionReadView と PrescriptionEditView の 2 つのビューがあります。ReadView には編集アイコンがあり、クリックすると readview が editview に置き換えられます。

私は#2に傾倒していますが、エレガントな方法で実装する方法がわかりません。これについての考えは役に立ちます。

ありがとうザファー

4

1 に答える 1

12

きれいなビューを編集ビューから分離すれば、あなたの人生はかなり楽になります。なぜなら、それらは、すべての意図と目的のために、同じデータの 2 つの異なるビューであり、異なるイベント処理のニーズと異なる動作を持っているからです。だから、#2にあなたを導くあなたの本能はお金に合っています.

私が考えることができる最もクリーンな実装は、モード切り替えイベントを処理できるコンテナー ビュー (PrescriptionView など) を作成することです。コンテナーは、現在アクティブな処方ビューへの参照を所有し、そのビューの作成と、非アクティブなビューのクリーンアップ (削除およびバインド解除) を処理します。これにより、すべてのロジックが適切に自己完結型に保たれます。

于 2012-06-02T19:59:58.510 に答える