如何在Angular 2中解释MVC模式?

找到一个有用的博客 Angular: MVC Implementation但仍在寻找Angular 2的好解释
一般

我认为这种模式确实与语言无关.也就是说,设计/体系结构模式相当抽象,并且在不同语言中实现它们遵循这种更抽象的表示.这并不是说我们不能使用C#或Java等示例语言或Angular2等示例框架来使其更加具体.

鉴于您已经阅读了MVC模式的一些来源,我假设您已经了解了模式在其抽象形式中的样子.它是模型,视图和控制器的分离.我不会进一步深入研究这一点.我们来看看Angular2吧.

Angular2专用

假设您正在使用angular2-cli.创建新组件时,会为您生成一堆文件.重要的是以component.html和component.ts结尾以理解MVC.这些分别是视图和控制器. HTML是呈现给用户内容(以及一些用于布局的CSS).很容易看出这代表了视图.在它旁边,我们有随附的component.ts文件.这是控制器.从本质上讲,它可以选择使用各种形式的绑定推送到我们的视图(.html)的数据.

如果不使用angular2-cli,可以将它们合并到一个文件中. HTML部分是我们的视图,我们的控制器是Typescript.

最后,我们有模型.在angular2中,模型主要是我们的服务,我们可以通过控制器访问. (旁注:服务可以看作是另一种模式,singleton pattern.旁注的旁注:在大多数情况下都是如此,但在SO上寻找一些解决方法))

虽然我们的模型可以超越这个范围.我们的“后端”可以有更多的类,例如我们的服务用于处理或存储信息.这也属于我们的模型.我们可以为Person提供一个类文件.然后PersonService可以管理Person数组.我们可以说Person仍然是模型类.

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...