タグ付けされた質問 「mvvm」

Model-View-ViewModel(MVVM)は、プレゼンテーションロジック(そのViewModel)を介してデータ(モデル)からUI(ビュー)を分離するユーザーインターフェイスを実装するためのアーキテクチャ設計パターンです。

17
ViewModelからウィンドウを閉じる
を使用しwindow controlてログインを作成し、ユーザーWPFが自分が作成しているアプリケーションにログインできるようにします。 これまでのところ、私は、ユーザーがための正しい資格情報で入力したかどうかを確認する方法作成しているusernameとpasswordにおけるtextboxログイン画面、上のbinding二つproperties。 これを実現するには、boolメソッドを作成します。 public bool CheckLogin() { var user = context.Users.Where(i => i.Username == this.Username).SingleOrDefault(); if (user == null) { MessageBox.Show("Unable to Login, incorrect credentials."); return false; } else if (this.Username == user.Username || this.Password.ToString() == user.Password) { MessageBox.Show("Welcome " + user.Username + ", you have successfully logged in."); …
95 c#  wpf  mvvm 

5
vuejsでコンポーネントの初期データをリセットする適切な方法はありますか?
特定の開始データのセットを持つコンポーネントがあります。 data: function (){ return { modalBodyDisplay: 'getUserInput', // possible values: 'getUserInput', 'confirmGeocodedValue' submitButtonText: 'Lookup', // possible values 'Lookup', 'Yes' addressToConfirm: null, bestViewedByTheseBounds: null, location:{ name: null, address: null, position: null } } これはモーダルウィンドウのデータなので、表示されたらこのデータから始めたいと思います。ユーザーがウィンドウからキャンセルした場合、すべてのデータをこれにリセットしたいと思います。 データをリセットするメソッドを作成して、すべてのデータプロパティを手動で元に戻すことができることはわかっています。 reset: function (){ this.modalBodyDisplay = 'getUserInput'; this.submitButtonText = 'Lookup'; this.addressToConfirm = null; this.bestViewedByTheseBounds = null; …

8
MVVMは無意味ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 正統なMVVM実装は無意味ですか?新しいアプリケーションを作成していて、WindowsフォームとWPFを検討しました。WPFを選択した理由は、将来性があり、柔軟性が高いためです。コードが少なく、XAMLを使用してUIに大幅な変更を加えるのが簡単です。 WPFの選択は明白であるため、ブレンド性、分離の懸念、および単体テスト性を提供するため、アプリケーションアーキテクチャとしてMVVMを使用することで、最大限に活用できると考えました。理論的には、UIプログラミングの聖杯のように美しく見えます。この短い冒険。しかし、本当の頭痛になっています。実際には、予想通り、ある問題を別の問題と交換していることがわかりました。私は、正しい結果を得て、より良いプログラマーになるために正しい方法で物事をやりたいという点で、強迫的なプログラマーになる傾向があります。MVVMパターンは、生産性に関する私のテストを失敗させ、大きな厄介なハックに変わりました! 明確な例は、モーダルダイアログボックスのサポートを追加することです。正しい方法は、ダイアログボックスを表示してビューモデルに関連付けることです。これを機能させるのは困難です。MVVMパターンを活用するには、アプリケーションのレイヤー全体のいくつかの場所にコードを配布する必要があります。また、テンプレートやランバ式などの難解なプログラミング構造を使用する必要があります。頭を掻いて画面を見つめるもの。これにより、最近発見したように、メンテナンスとデバッグの悪夢が起こります。2度目の呼び出しで例外が発生するまで、ダイアログボックスが閉じられるとダイアログボックスを再び表示できなくなると言って、aboutボックスは正常に機能していました。ダイアログウィンドウに閉じる機能のイベントハンドラーを追加する必要がありました。それのIDialogView実装の別のものと、IDialogViewModelの最後の別のもの。MVVMがそのような贅沢なハッカーから私たちを救ってくれると思いました! この問題に対する競合する解決策を持っている人が何人かいますが、それらはすべてハックであり、クリーンで簡単に再利用できる、エレガントなソリューションを提供していません。ほとんどのMVVMツールキットはダイアログに光沢があり、ダイアログに対処する場合、それらは単なるカスタムボックスやビューモデルを必要としないアラートボックスです。 MVVMのビューパターン、少なくともその正統な実装をあきらめることを計画しています。どう思いますか?あなたが何かあったとしても、それはあなたにとって問題の価値がありましたか?私は単に無能なプログラマーなのでしょうか、それともMVVMが期待されているものではないのですか?
91 .net  wpf  mvvm 

1
jquery-mobileとknockoutjsを使用してWebアプリケーションを構築する方法
私はhtml / cssとJavaScriptだけから作成されたモバイルアプリを構築したいと考えています。JavaScriptを使用してWebアプリを構築する方法についてはかなりの知識がありますが、jquery-mobileなどのフレームワークを調べたほうがいいと思いました。 最初は、jquery-mobileはモバイルブラウザーをターゲットとするウィジェットフレームワークにすぎないと思っていました。jquery-uiによく似ていますが、モバイルの世界向けです。しかし、jquery-mobileはそれ以上のものであることに気付きました。多数のアーキテクチャが付属しており、宣言型のHTML構文でアプリを作成できます。したがって、最も簡単に考えられるアプリの場合、JavaScriptを1行で自分で書く必要はありません(これはクールです。 宣言的なhtml構文を使用してアプリを作成するアプローチをサポートするには、jquery-mobileとknockoutjsを組み合わせるのがよいでしょう。Knockoutjsは、WPF / Silverlightから知られているMVVMの超能力をJavaScriptの世界にもたらすことを目的としたクライアント側のMVVMフレームワークです。 私にとってMVVMは新しい世界です。私はすでにそれについてたくさん読んだことがありますが、私は実際にそれを実際に使ったことはありません。 したがって、この投稿は、jquery-mobileとknockoutjsを一緒に使用してアプリを構築する方法に関するものです。私のアイデアは、数時間見てから思いついたアプローチを書き留め、コメントするjquery-mobile / knockout yodaを用意して、最初にプログラミングがうまくいかない理由と、プログラミングを行うべきではない理由を説明することでした場所 ;-) html jquery-mobileは、ページの基本的な構造モデルを提供する優れた機能を果たします。後でページをajax経由でロードできることは十分承知していますが、すべてのページを1つのindex.htmlファイルに保持することにしました。この基本的なシナリオでは、2つのページについて話しているので、物事を把握するのはそれほど難しくありません。 <!DOCTYPE html> <html> <head> <title>Page Title</title> <link rel="stylesheet" href="libs/jquery-mobile/jquery.mobile-1.0a4.1.css" /> <link rel="stylesheet" href="app/base/css/base.css" /> <script src="libs/jquery/jquery-1.5.0.min.js"></script> <script src="libs/knockout/knockout-1.2.0.js"></script> <script src="libs/knockout/knockout-bindings-jqm.js" type="text/javascript"></script> <script src="libs/rx/rx.js" type="text/javascript"></script> <script src="app/App.js"></script> <script src="app/App.ViewModels.HomeScreenViewModel.js"></script> <script src="app/App.MockedStatisticsService.js"></script> <script src="libs/jquery-mobile/jquery.mobile-1.0a4.1.js"></script> </head> <body> <!-- …

5
MVVMの基本概念— ViewModelは何をすべきですか?
MVVMの概念を理解しようとして、私はすでにいくつかのブログを読み、いくつかのプロジェクトを見てきました。 私が理解していることから、ビューはばかげている、それはそれに渡される何かを提示する方法を知っているだけです。 モデルは単なるデータであり、ViewModelは、2つの間のパディングのように機能するものであり、モデルから情報を取得してビューに渡し、ビューはそれを表示する方法を知っている必要があります。または逆に、ビューの情報が変更された場合は、その変更をモデルに渡す必要があります。 しかし、私はまだその概念をどのように適用するのか分かりません。コンセプトを理解できるように、誰かが非常に単純なシナリオを説明できますか?私はすでにいくつかのプロジェクトを見てきましたが、それでも完全には意味がないので、誰かが平易な英語でそれを書き出すことができれば、それは素晴らしいことです。
83 mvvm 


3
WPF MVVMなぜストレートXAMLウィンドウビューではなく、ContentControl + DataTemplateビューを使用するのですか?
なぜこれ? MainWindow.xaml: <Window x:Class="MVVMProject.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <ContentControl Content="{Binding}"/> </Grid> </Window> ExampleView.xamlを次のように設定します。 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vms="clr-namespace:MVVMProject.ViewModels"> <DataTemplate DataType="{x:Type vms:ExampleVM}" > <Grid> <ActualContent/> </Grid> </DataTemplate> </ResourceDictionary> そして、次のようなウィンドウを作成します。 public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); MainWindow app = new MainWindow(); ExampleVM context = new ExampleVM(); …
83 c#  wpf  xaml  mvvm  architecture 

3
SwiftUI-EnvironmentObjectをビューモデルに渡す方法
(ビューだけでなく)ビューモデルからアクセスできるEnvironmentObjectを作成しようとしています。 Environmentオブジェクトはアプリケーションセッションデータ(loggedIn、アクセストークンなど)を追跡します。このデータはビューモデル(または必要に応じてサービスクラス)に渡され、APIを呼び出してこのEnvironmentObjectsからデータを渡すことができます。 セッションオブジェクトをビューからビューモデルクラスの初期化子に渡そうとしましたが、エラーが発生しました。 SwiftUIを使用してEnvironmentObjectにアクセス/ビューモデルに渡すにはどうすればよいですか? テストプロジェクトへのリンクを参照してください:https : //gofile.io/?c=vgHLVx
16 ios  swift  mvvm  swiftui 

2
MVIとMVVMを比較したMVIの違いは何ですか
「新しい」Model-View-Intentアーキテクチャと、MVCやMVVMのような「古い」アーキテクチャとの違いはありますか? MVIはどの問題に対処しますか?MVC / MVVMとの類似点は何ですか?違いは何ですか? MVC / MVV / MVPのスタックオーバーフローにはすでに同様の質問がありますが、これまでのところMVIを説明する質問はありません。 MVCとMVVMの違いは何ですか? MVPとMVCとは何ですか?違いは何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.