.net 如何在Angular2中实现Caliburn.Micro风格的MVVM
我有使用.net 如何在Angular2中实现Caliburn.Micro风格的MVVM,.net,wpf,angular,mvvm,caliburn.micro,.net,Wpf,Angular,Mvvm,Caliburn.micro,我有使用WPF和MVVM和Caliburn.Micro的经验,并尝试在Angular2中实现一个简单的示例 我在WPF中有: 视图:与业务逻辑完全分离,只包含视图的代码 ViewModel:它包含业务逻辑 命令:与Angular2中的服务类似 我想实现这一点: 单击按钮后,将文本框中的文本发送到服务器,然后清除文本框。如果文本框为空,则禁用该按钮 我在WPF中实现了如下: 我的看法是: <TextBox Name="Message" /> <!-- Binding create
WPF
和MVVM
和Caliburn.Micro
的经验,并尝试在Angular2中实现一个简单的示例
我在WPF中有:
视图
:与业务逻辑完全分离,只包含视图的代码ViewModel
:它包含业务逻辑命令
:与Angular2中的服务类似
文本框
中的文本发送到服务器,然后清除文本框
。如果文本框
为空,则禁用该按钮
我在WPF
中实现了如下:
我的看法是:
<TextBox Name="Message" /> <!-- Binding created by Caliburn.Micro -->
<Button Name="Save" /> <!-- Binding created by Caliburn.Micro -->
这是命令:
public class SaveCommand
{
public void Run()
{
// ...
}
}
正如您所见,我不必编写单击处理程序、创建绑定等。它由Caliburn
很好地处理。没有混乱,它只是非常简单,易于扩展Save
和CanSave
也很好地分开了。我不必担心Save
方法中的CanSave
我可以重用命令
,重用视图模型
甚至视图
。通过继承现有的ViewModels
,我可以创建新的ViewModels
。我可以对不同的视图模型使用视图
,反之亦然
如何在Angular2
中实现类似的功能?我是否应该将业务逻辑放入组件中
?Angular2中不知何故缺少了ViewModel
。?这可能会帮助您了解一些想法,谢谢,但这不是我想要的。我知道如何使用一个简单的组件来实现这一点,但这还不够:)@David,你真的想看看Aurelia,那么它与Rob创建Caliburn后的CM非常相似,并且一些相同的原则也适用于
public class SaveCommand
{
public void Run()
{
// ...
}
}