【问题标题】:What is best pattern for angular js: MVVM or MVC?角度 js 的最佳模式是什么:MVVM 或 MVC?
【发布时间】:2016-05-23 09:04:06
【问题描述】:

我是 Angular js 的新手。我想知道 MVVM 和 MVC 框架之间的区别以及哪个最适合 AngularJS。

我知道 MVC 和 MVVM 模式,但我找不到哪个最好,为什么?

谢谢, 希特什

【问题讨论】:

  • Angular 是一种 MVC 架构.... 至少有 2 个。但是您可以在您的应用程序中做任何有意义的事情。
  • 感谢您的宝贵回复

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


【解决方案1】:

在 MVVM 中,UI(视图)面向用户并直接接受用户输入。在视图中,视图模型(即视图的 DataContext)中的命令由该活动触发。控制流到 ViewModel,它解释 V​​iew 发送给它的内容并准备它的模型。在控制流回视图后,它会根据模型中的变化进行自我更新。如果需要一个新视图,ViewModel 会与 NavigationService(或您的应用程序使用的任何导航方法)进行通信,这是 Window 或 Frame--UI 组件的权限。你可以看到 ViewModel 不是第一个也不是最后一个。视图比 MVC 中的作用要大得多。

WPF/Silverlight 的架构是这样做的原因。控制器无法控制/替换命令、绑定和导航基础设施;它们与 UI 紧密集成。因此,Controller 必须位于 View 下方,扮演更被动的角色。

【讨论】:

    【解决方案2】:

    AngularJS 是 MV*(MV 什么都可以),它可以是 MVC 或 MVVC。

    • 型号:您要更新的数据。
    • 查看:HMLT/模板。
    • 控制器:维护应用程序数据和行为的函数。
    1. MVC 的示例是使用插值 {{}} 将数据绑定到视图。 您可以使用控制器更新视图(html)。

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

    【讨论】:

      猜你喜欢
      • 2023-02-02
      • 1970-01-01
      • 2011-01-20
      • 2013-02-03
      • 2017-02-22
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多