【译】用纯JavaScript写一个简单的MVC App
【译】用纯JavaScript写一个简单的MVC App
我想使用model-view-controller体系结构模式并用纯JavaScript编写一个简单的应用程序。所以我着手做了,下面就是。希望能帮你理解MVC,因为这是一个很难理解的概念,刚接触时候会很疑惑。
我制作了this todo app,它是一个简单的浏览器小应用程序,你可以进行CRUD(create, read, update, delete)操作。它仅由index.html,style.less和script.js文件组成,非常棒而且简单,无需安装依赖/无需框架就可以学习。
前置条件
基本的JavaScript和HTML知识熟悉the latest JavaScript syntax
目标
用纯JavaScript在浏览器中创建一个待办事项程序(a todo app),并且熟悉MVC概念(和OOP-object-oriented programming,面向对象编程)。
View demoView source
因为这个程序使用了最新的JavaScript特性(ES2017),在不使用Babel编译为向后兼容的JavaScript语法的情况下,在Safari这样的浏览器上无法按照预期工作。
什么是MVC?
MVC是组织代码的一种模式。它是受欢迎的模式之一。
Model - 管理应用程序的数据View - Model的可视化表示(也就是视图)Controller - 连接用户和系统
model就是数据。在此代办事项应用程序中,这将是实际的待办事项,以及将会添加、编辑和删除它们的方法。
view是数据的显示方式。在此代办事项应用程序中,这将是DOM和CSS呈现出来的HTML。
controller连接model和view。它接受用户输入,比如单击或者键入,并处理用户交互的回调。
model永远不会触及view。view永远不会触及model。controller将它们连接起来。
我想说的是,在这个简单的 todo app 中使用 MVC 大才小用。如果这是你要创建的应用程序,并且整个系统都由你自己开发,那确实会使得事情变得过于复杂。重点是尝试从一个较小的角度了解它,以便你可以理解为什么一个可伸缩迭代的系统会使用它。
初始化设置
这将是一个完全的JavaScript的应用程序,这就意味着所有的内容将通过JavaScript处理,而HTML在主体中仅包含一个根元素。
Todo App