建议:在JavaScript中难以使用模型视图控制器
Advice: Struggling with Model-View-Controller in JavaScript
我正在努力更好地理解MVC。我找不到太多我真正理解的内容,也找不到可以重新设计以更好地理解内部工作的内容。
我知道模型是数据(带有对象或其他东西的JavaScript),视图是HTML,控制器是浏览器。
这是正确的理解吗?有人能给我举一个MVC的简单、肮脏的例子吗?
提前感谢您提供的任何有用的意见。
MVC框架包括以下组件:
-
型号。模型对象是应用程序中实现应用程序数据域的逻辑。通常,模型对象检索模型状态并将其存储在数据库中。例如,一个产品对象可能从数据库中检索信息,对其进行操作,并且然后将更新后的信息写回SQL中的Products表服务器数据库。在小型应用程序中,模型通常是概念上的分离而不是物理的。例如,如果应用程序只读取数据集并将其发送到视图,则应用程序没有物理模型层和相关的类。在这种情况下数据集扮演模型对象的角色。
-
视图。视图是显示应用程序的用户界面(UI)。通常,此UI是根据模型创建的数据例如,Products表的编辑视图显示基于的文本框、下拉列表和复选框Product对象的当前状态。
-
控制器。控制器是处理用户的组件交互,使用模型,并最终选择一个视图显示UI的渲染。在MVC应用程序中,仅视图显示信息;控制器处理并响应用户输入和交互。例如,控制器处理查询字符串值,并将这些值传递给模型,模型在turn可能会使用这些值来查询数据库。
http://msdn.microsoft.com/en-us/library/dd381412(VS.98).aspx?ppud=4
我建议您在这里学习Backbone JS示例https://github.com/tastejs/todomvc/tree/gh-pages/architecture-examples/backbone
Backbone是您可以找到的最简单的Javascript MVC库(而不是框架)。它清楚地定义了什么是Model(同步到REST API的数据)、View(这有点令人困惑,因为Backbone中的View加上Router等于MVC世界中的"Controller")和Template(这是MVC世界中"View"。你可以使用Mustache JS或下划线JS或其他模板引擎)。
我希望这能有所帮助。
- 角度指令没有更新模型视图
- “渲染骨干模型视图”返回未定义的结果
- 轮询更新主干模型/视图的请求
- 节点.js中的模型-视图-控制器模式
- 图像数据中的更改未反映在模型视图中
- 自定义 ngModel 指令以支持 jquery 插件中的模型>视图绑定
- 优化显示简单项目列表的模型/视图
- 建议:在JavaScript中难以使用模型视图控制器
- 将三维世界矢量转换为模型视图矩阵
- 在主干模型/视图上处理更复杂的验证逻辑(必填字段等)的最佳方式
- AngularJS在POST http请求上更新模型/视图
- web应用程序模型视图中的Java脚本
- 我的第一个骨干模型/视图.我的思路对吗?
- Knockoutjs的日期时间字段更新不会刷新模型视图
- Backbone.js中的嵌套集合/模型视图管理
- Javascript“this"模型视图演示器设计中的问题
- 模型视图控制器-javascript mvc框架设计实践,用于编辑就地界面
- 模型视图控制器-任何使用javascript mvc的人
- 模型视图控制器-我们是否在使用JavaScriptMVC(MVVM)框架,如Backbone.js、Angular等
- 模型视图控制器-AngularJS中是否可以在经典的javascript函数中使用数据绑定