问题标签 [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. 订单详情视图模型

在我的“OrderDetailsViewModelMapper”映射器文件中,我手动将这 2 个 DomainModels 映射到我的 ViewModel。映射器文件“OrderDetailsViewModelMapper”将调用我的存储库方法,该方法将访问数据库并在将它们映射到存储库本身之后返回我的 2 个域模型 ieProduct 和 Order。所以 mapper 只是调用存储库并获取它的 DomainModels。我不想要自动映射器。现在我对这种情况有 2 个问题。

  1. 上述填充我的 ViewModel 的流程是否违反了任何最佳实践?
  2. 我可以在我的“OrderDetailsViewModel”中保留 2 个 Product & Order 类型的属性,如下所示,只映射这些属性,而不是复制“OrderDetailsViewModel”中的所有属性并单独映射 tem?
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

我使用了 KeyValuePair,以便在遍历视图中的项目时,我可以知道哪个值属于特定的 GeneRule_ID

这是我在 GeneRuleController.cs 中的 Index() 方法,我从存储库中填充 KeyValuePairs

这是我的 Index.cshtml,我在其中循环遍历每个 GeneGroups 和 GeneRules 以显示数据

正如我所说,我觉得我好像走错了路,所以任何帮助/建议将不胜感激。

0 投票
2 回答
282 浏览

asp.net-mvc - ViewModel 与域实体

在开始之前,我想说我知道 ViewModel 是什么,以及它的目的是什么,但是这种情况使它变得多余.. 请继续阅读 :)

我正在开发一个 ASP.NET MVC4 应用程序,并且在 PagedList、Domain Entities 和 ViewModels 方面遇到了一些令人头疼的问题。

基本上,PagedList.MVC 插件不能很好地与 AutoMapper 配合使用,我必须做一些额外的工作才能让它按我的意愿工作。

但后来我想,当需要相关域实体上的所有属性时,我是否还需要一个 ViewModel 类?

当视图需要域实体上的每个属性时,视图模型有什么好处?

0 投票
2 回答
5600 浏览

mvvm - 如何在 ExtJs 5 中将子视图绑定到父视图模型?

我需要将子视图绑定到父视图的视图模型。我的结构是 -

0 投票
1 回答
207 浏览

c# - 如何控制从 MultiSelectTreeView 的 ViewModel 中的选择

我有一个 WPF MultiSelectTreeView(从这里下载:http ://unclassified.software/en/source/multiselecttreeview )。

现在我想控制用户选择哪些项目。一个简单的例子是他不应该能够选择不同父母的子节点。但也有更多特定于 ViewModel 的用例。

通过使用 PreviewSelectionChanged 事件、直接检查条件并相应地设置取消标志,可以很容易地在 Window 的代码隐藏中实现这一点。但由于我想获得 View 和 ViewModel 的分离,我正在寻找一种在我的 WindowViewModel 中执行此操作的方法。

当然你也可以将检查提取到 ViewModel 并从视图中调用它,但它看起来不对:

我希望任何人都有一个想法。

- timnot90

0 投票
0 回答
107 浏览

wpf - 尝试使用嵌套视图和嵌套视图模型创建 MVVM ViewModelFirst

我是使用 MVVM 的新手,并试图在创建嵌套视图的界面时使用 ViewModel First 策略找到一种相当优雅的方法。我在制定可行的解决方案方面采取了蛮力,但我无法想象这是应对这一挑战的理想方式。我在任何论坛上都没有成功找到解决方案。我已经包含了一些有限的函数伪造类和代码来展示我的工作想法。任何帮助,将不胜感激。

}

0 投票
2 回答
1372 浏览

mvvm - MvvmCross:混合 Xamarin.Forms 和 Android Activity 应用程序

作为 MvvmCross 的新手,我决定创建一个小型 Xamarin.Forms 应用程序。我有一个MainPage.xaml绑定到它的 ViewModel MainViewModel.cs,它首先显示。我有一个FirstView.axml位于 droid 项目及其活动的项目。关联的 ViewModel 位于 MainViewModel 旁边的 Core 项目中,并命名为FirstViewModel.cs

单击导航按钮后,我希望 MvvmCross 显示FirstView.axml布局并绑定到 VM。然而,

每当调用命令时,我都会得到

目前该项目如下所示:

启动活动

主视图模型

基本上我正在寻找的是与此相反的内容:MvvmCross:如何在 Android 上从常规视图导航到 Mvvm 视图模型?

0 投票
2 回答
585 浏览

wpf - 包含未更新的 ViewModel 的 WPF MVVM ViewModel

我对 WPF 和 MVVM 很陌生,这让我很头疼。由于导航问题,我决定一次显示所有内容。我想我会创建一个新的 ViewModel ( MainViewModel) 来包含我的另外两个 ViewModel (StudentViewModelAddStudentsViewModel)。

MainViewModel包含这样的内容:

(公众AddStudentsViewModel AddStudentsVM也存在,我只是想保持简短)

我已经成功绑定StudentVMAddStudentsVM我的主视图,因为我可以在初始化阶段以编程方式设置值,并且在调试时,我可以看到我的按钮点击被重定向到正确的方法。甚至看起来我已经成功地将学生添加到对象中,但是我的主视图并没有反映这些变化。

我错过了什么MainViewModel吗?还是 ViewModel 无法看到其中任何其他 ViewModel 的变化?