うまく説明できてないかも…
私はそよ風 js を使用してエンティティを具体化していますが、そのエンティティには 100 近くの float フィールドが含まれています。これらは、4 つの個別部品と合計があり、これが 19 回繰り返される計算結果フィールドです。したがって、19 x 5 = 95 フィールドなので、「ほぼ 100」になります。
基本的には次のとおりです。
calculationResult1_materials
calculationResult1_processes
calculationResult1_packaging
calculationResult1_transport
calculationResult1_total
calculationResult2_materials
calculationResult2_processes
calculationResult2_packaging
calculationResult2_transport
calculationResult2_total
calculationResult3_materials
etc...
明らかなように、「合計」フィールドには他の 4 つの部分の合計が含まれますが、そのフィールドだけにアクセスするレガシー システムがあるため保存され、誰かが合計を表示するたびに合計を計算する必要がなくなります。 .
Breeze はフィールドの合計を他のフィールドと同様に単純な観測対象として具体化するため、計算のために他の 4 つのフィールドのいずれかを再計算するたびに、4 つの個々の構成部分 (材料) を手動で再合計する必要があることを意味します。 、パッケージング、プロセス、トランスポート) を作成し、結果を表示する html ページの div にバインドされている「合計」オブザーバブルに結果を入れます。
これは機能しますが、これが最も効率的な方法ではない可能性があることに私は気づきました。明らかに、計算ごとに他の4つのフィールドを含む19個のcomputedObservableをビューモデルに個別に作成し、実際の「合計」オブザーバブルの代わりにそれにバインドできますが、たとえばフィールド名が変更された場合はコードを手動で更新することを意味します。
計算の他の 4 つの部分のいずれかが変更されたときに自動的に計算され、引き続きエンティティの一部であり、微風が後で変更を保存するように、何らかの方法でオブザーバブルを計算オブザーバブルとして再定義する方法はありますか?