我是角度js的新手。我想知道MVVM和MVC框架之间的区别,哪一个最适合AngularJS。
我了解MVC和MVVM模式,但我找不到哪一个最好,为什么?
谢谢, Hitesh
答案 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。
MVC的示例是使用插值{{}}将数据绑定到视图。 您可以使用控制器更新视图。
MVVC的示例是使用ngModel的双向数据binidng。 如果将ngModel绑定到输入标记。 输入字段中更改的值在控制器中更新。 控制器中更改的值将在输入字段中更新。