【问题标题】:Why is AngularJS considered MV*为什么 AngularJS 被认为是 MV*
【发布时间】:2014-11-27 17:06:29
【问题描述】:

我曾在后端 (Rails) 上使用 MVC,目前正在前端 (Angular) 上使用 MVC(MV*)。我已经看到 Angular 被认为是一种 MV* 模式,但为什么它被认为是这样呢?

使用 Angular,我理解关注点的分离,使用视图(模板)、控制器,并使用服务来提供数据。在这种情况下,通过 ng-model 的模型(数据存储)对于前端临时存储是有意义的,但实际的持久性(当对 API 进行 POST 或 PUT 时)似乎是通配符。由于数据可以持久化的方式,可以以不同方式处理(数据库、firebase 等)。

根据我的理解,在我看来 *VC 更合适,因为 Angular 中的控制器比模型定义得更好。

MV* 模式一定有一些我遗漏或困惑的核心内容,非常感谢任何澄清。

【问题讨论】:

  • 模型可以使用localStorage or sessionStorage存储在本地,也可以通过AJAX存储在服务器端。使用哪一个取决于开发人员。
  • 持久性与 MVC 完全无关。 AngularJS 中显然有一个模型,它与视图分离。将此与基于 jQuery 的应用程序进行比较,例如,模型是 DOM 本身,它也是视图。
  • @JBNizet 好的持久性与 MVC 无关,现在你这么说是有道理的。但是我仍然很好奇为什么在明显有控制器的情况下使用 MV*。
  • AFAIK,AngularJS 将自己定义为一个 MVC 框架。例如,请参阅docs.angularjs.org/api/ng/directive/ngController

标签: angularjs architecture model-view rationale mvw


【解决方案1】:

以下是可以在 Angular 中选择 * 的几种方法:

重要的是 UI 和模型是共同点。在不破坏应用程序的情况下构建有趣的 UI,在不破坏 UI 的情况下构建有趣的业务逻辑。

参考文献

【讨论】:

    猜你喜欢
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2018-05-18
    相关资源
    最近更新 更多