Shr*_*yas 6 model-view-controller design-patterns mvvm angularjs
从我读到现在(这个答案正确),它更倾向于MVVM模式.将服务中的数据视为模型,将Angular控制器视为VM,将包含角度绑定的HTML视为View.
我们可以说MVC是服务器端的模式和客户端的MVVM吗?
有人可以用示例(在Angular的上下文中)解释我们如何实现MVC和MVVM.
我读过关于使用var vm = this的概念; 在角度控制器中.但这是否意味着只需为我们的控制器使用别名,我们将Angular应用程序从MVC转换为MVVM.
Sup*_*hne 14
首先我想,最好先了解一下MVC和MVVM.
不仅仅是描述更多的理论背景.我宁愿用一个简单的例子来解释.让我们买一个披萨.
MVC - 当你打电话给披萨中心并交付时,会发生什么.
MVVM - 更像是,当你去商店并将订单交给服务员时会发生什么.
回到你的问题时,
我们可以说MVC是服务器端的模式和客户端的MVVM吗?
我能说的是一般是的.(可能有一些角落案例).我希望,您可以使用我的上述解释来更好地处理您的问题.
除了你所提到的AngularJS,在架构中,它与MVVM非常接近(我这样说是因为它更像是没有答案).虽然我们在AngularJS中有控制器,但实际上它们完全是View-Models的工作.
----------使用AngularJS更新特定示例----------
因为我想在Angular架构中保持我们的范围.我正在举一个例子.
this.controllerAs = vm.实际上这个术语vm指的是视图模型.[视图模型]理想情况下,在此控制器中,我们不应实现特定于业务的逻辑.如果您希望它们包含在客户端,您应该有单独的工厂,服务(自定义)等来做到这一点.您可以做的是,您可以在控制器中包含那些(工厂,服务)并调用其所需的功能/方法来执行所需的操作.否则,您可以考虑在服务器端使用业务逻辑并使用内置服务(例如:$ http)来调用它们.
因此,在控制器内部,我们只有绑定的实现才能查看我们想要的逻辑(显示要求).
所以在沟通流程中真正发生的是,