問題タブ [view-model-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
501 参照

mvvm - MVVM:ViewModelには別のViewModelのメンバーが必要ですか?

依存するViewModelは、コンストラクター(IoCコンテナー)を介して注入されます。

例:ProductSelectionViewModelはShoppingBasketViewModelを使用します。

これは一般的な方法ですか、それともこれが推奨される方法ですか?私はそうは思わない...

それはどのように正しく行われるべきですか?

ビューは2つのViewModelを使用する必要がありますか?メディエーターパターン?イベント駆動型?

個人的には最後のものが好きではありません。

0 投票する
1 に答える
163 参照

asp.net-mvc-4 - 「ViewModel」は「DomainModel」タイプのプロパティを保持できますか

asp.net MVC 4 には、2 つの DomainModels があります。

  1. 製品
  2. 注文

および関連する ViewModel

  1. OrderDetailsViewModel

「OrderDetailsViewModelMapper」マッパー ファイルで、これら 2 つの DomainModels を ViewModel に手動でマッピングしています。マッパー ファイル「OrderDetailsViewModelMapper」はリポジトリ メソッドを呼び出します。このメソッドは DB にアクセスし、2 つの DomainModels ieProduct と Order をリポジトリ自体にマッピングした後に返します。したがって、マッパーはリポジトリを呼び出してそれを取得するだけです DomainModels. Automapper は必要ありません。このシナリオについて 2 つの質問があります。

  1. ViewModel を埋める上記のフローがベスト プラクティスに違反しているかどうか
  2. 以下のように「OrderDetailsViewModel」内に Product & Order タイプの 2 つのプロパティを保持し、「OrderDetailsViewModel」内のすべてのプロパティを複製して項目を個別にマップするのではなく、それらのプロパティのみをマップすることはできますか?
0 投票する
2 に答える
1675 参照

c# - Web API ViewModel パターンの悪い習慣の可能性はありますか?

現在、次のように、「ViewModelProduct」オブジェクトのコンストラクターにモデル オブジェクトを挿入することで、WebApi 内に ViewModel を実装しています。

コントローラー内 - 私の場合は、'ViewModelProduct' のインスタンスを作成したい 'ProductController' です。可能な限り密結合を減らしたい。

BootStrapper クラスから Unity を使用して、「IFacade」オブジェクトをコントローラーのコンストラクターに挿入します。

ここでの本当の問題は、示されているように、モデルを送信してそのコンストラクター内に設定する「ViewModelProduct」オブジェクトの新しいインスタンスを単に返す静的メソッドを現在持っていることです。これは悪い習慣ですか?実行前にモデルがどうなるかわからないため、Unity でインスタンスを作成する方法を考えられません

新しい「ViewModelProduct」インスタンスを返す静的クラス:

0 投票する
1 に答える
562 参照

c# - MVC ビューですべてのデータを表示する

これはゼロからの最初の MVC プロジェクトであり、最初に読み込まれたときに複数の繰り返しレコード データをビューに表示し、編集ボタンをクリックしてデータを保存したときにユーザーが同じページのフィールドを編集できるようにしようとしています。その特定のレコード。いくつかのデータが表示されていますが、間違った方法で行っているように感じます。

これは私の GeneRuleViewModel.cs です

ビュー内のアイテムをループするときに、どの値が特定の GeneRule_ID に属しているかを知ることができるように、KeyValuePair を使用しました。

これは、リポジトリから KeyValuePairs を設定している GeneRuleController.cs の Index() メソッドです。

これは、各 GeneGroups と GeneRules をループしてデータを表示する Index.cshtml です。

私が言ったように、私はこれを間違った方法で行っているように感じますので、どんな助け/アドバイスも大歓迎です.

0 投票する
2 に答える
282 参照

asp.net-mvc - ViewModel とドメイン エンティティ

始める前に、ViewModel とは何か、その目的は何かを知っていると言いたいのですが、このシナリオでは冗長になります..読み進めてください :)

私は ASP.NET MVC4 アプリケーションに取り組んでおり、PagedList、Domain Entities、および ViewModel に関して頭痛の種に遭遇しました。

基本的に、PagedList.MVC プラグインは AutoMapper とうまく連携しません。必要に応じて機能させるために余分な作業を行う必要があります。

しかし、問題のドメイン エンティティのすべてのプロパティが必要な場合、ViewModel クラスは必要でしょうか?

ビューでドメイン エンティティのすべてのプロパティが必要な場合、ViewModel にはどのような利点がありますか?

0 投票する
1 に答える
207 参照

c# - MultiSelectTreeView の ViewModel から選択を制御する方法

私は WPF MultiSelectTreeView を持っています (ここからダウンロード: http://unclassified.software/en/source/multiselecttreeview )。

ここで、ユーザーが選択するアイテムを制御したいと思います。簡単な例は、異なる親の子ノードを選択できないようにすることです。ただし、ViewModel 固有のユース ケースは他にもあります。

PreviewSelectionChanged イベントを使用して条件を直接確認し、それに応じてキャンセル フラグを設定することにより、ウィンドウのコード ビハインドでこれを簡単に実現できます。しかし、View と ViewModel を分離したいので、WindowViewModel でこれを行う方法を探しています。

もちろん、チェックを ViewModel に抽出してビューから呼び出すこともできますが、それは間違っているように見えます。

誰にでもアイデアがあることを願っています。

-ティムノット90

0 投票する
2 に答える
1372 参照

mvvm - MvvmCross: ハイブリッド Xamarin.Forms と Android アクティビティ アプリケーション

MvvmCross は初めてなので、小さな Xamarin.Forms アプリを作成することにしました。最初に表示されるMainPage.xamlViewModelに関連付けられています。MainViewModel.cs私はFirstView.axmlその活動とともにドロイドプロジェクトにいます。関連付けられた ViewModel は、MainViewModel と並んでコア プロジェクトに配置され、名前が付けられます。FirstViewModel.cs

ナビゲート ボタンをクリックすると、MvvmCross にFirstView.axmlレイアウトが表示され、VM にバインドされます。でも、

コマンドが呼び出されるたびに、私は取得します

現在、プロジェクトは次のようになっています。

スタートアップ活動

MainViewModel

基本的に私が探しているのは、これの逆です: MvvmCross: Android で通常のビューから Mvvm ビューモデルに移動する方法は?

0 投票する
2 に答える
585 参照

wpf - ViewModelを含むWPF MVVM ViewModelが更新されない

私は WPF と MVVM に非常に慣れていないため、多くの頭痛の種になっています。ナビゲーションの問題により、すべてのコンテンツを一度に表示することにしました。新しい ViewModel ( ) を作成して、他の 2 つの ViewModel (と)MainViewModelを含めることにしました。StudentViewModelAddStudentsViewModel

MainViewModel次のようなものが含まれています。

(パブリックAddStudentsViewModel AddStudentsVMも存在します。これを短くしようとしています)

初期化フェーズ中にプログラムで値を設定でき、デバッグ時にボタンのクリックが正しいメソッドにリダイレクトされていることを確認できるため、メイン ビューに正常にバインドStudentVMされました。AddStudentsVMオブジェクトに生徒を正常に追加しているようにさえ見えますが、メイン ビューにはこれらの変更が反映されていません。

で何か不足していMainViewModelますか? または、ViewModel がその中の他の ViewModel の変更を確認することはできませんか?