角度js的最佳模式是什么:MVVM或MVC?

时间:2016-05-23 09:04:07

标签: angularjs asp.net-mvc-4 mvvm

我是角度js的新手。我想知道MVVM和MVC框架之间的区别,哪一个最适合AngularJS。

我了解MVC和MVVM模式,但我找不到哪一个最好,为什么?

谢谢, Hitesh

2 个答案:

答案 0 :(得分:1)

在MVVM中,UI(视图)面向用户并直接接受用户输入。在View中,ViewModel中的命令(View的DataContext)由此活动触发。控制流向ViewModel,ViewModel解释View发送的内容并准备其模型。控制流回View后,它会根据模型中的更改自行更新。如果需要新的View,ViewModel会将此与NavigationService(或您的应用程序使用的任何导航方法)进行通信,这是Window或Frame-UI组件的范围。您可以看到ViewModel不是第一个也是最后一个行为; View比MVC扮演更重要的角色。

WPF / Silverlight的体系结构是事情以这种方式完成的原因。控制器无法控制/替换命令,绑定和导航基础结构;它们与UI紧密集成。因此,控制器必须位于视图下方,并采取更为被动的角色。

答案 1 :(得分:1)

AngularJS是MV *(MV,无论是MV)还是MVVC。

  1. MVC的示例是使用插值{{}}将数据绑定到视图。 您可以使用控制器更新视图。

  2. MVVC的示例是使用ngModel的双向数据binidng。 如果将ngModel绑定到输入标记。 输入字段中更改的值在控制器中更新。 控制器中更改的值将在输入字段中更新。