MVVM

html出现

一开始某物理学家发明超文本标记语言,简称HTML,最早的HTML页面时完全静态的网页,是预先编写好的存放在Web服务器上的html文件。浏览器请求某个URL,Web服务器就把对应的文件扔给浏览器,就可以显示html文件的内容了。

CGI出现

如果针对不同的用户显示不同的页面,显然不可能给成千上万的用户准备好成千上万不同的html文件,所以服务器就需要针对不同的用户,动态生成不同的html文件。一个最直接的想法就是利用C、C++这些编程语言直接向浏览器输出拼接后的字符串。这种技术被称为CGI:Common Gateway Interface

ASP、JSP、PHP等动态脚本语言的出现

很显然,像新浪首页这样的复杂HTML是不可能通过拼接字符串的得到的。于是,人们又发现,其实拼接字符串的时候,大多数字符串都是HTML片段,是不变的,变化的只有少数和用户相关的数据,所以,又出现了新创建动态HTML的方式:ASP、JSP和PHP分别由微软、SUN和开源社区开发。
在ASP中,一个asp文件就是一个HTML,但是,需要替换的变量用特殊的<%=var%>标记出来,再配合循环、条件判断,创建动态HTML就比CGI要容易的多。

JavaScript脚本语言的出现

但是,一旦浏览器显示了一个HTML页面,要更新页面内容,唯一的方法就是重新向服务器获取一份新的HTML内容。如果浏览器想要自己修改HTML页面的内容,依靠的是后来引入的Javascript。

JS操作Html经历的阶段

有了JavaScript后浏览器就可以运行JavaScript,然后对页面进行一些修改。
用JavaScript操作HTML经历了若干发展阶段。
第一阶段,使用浏览器提供的原生API:

var dom = document.getElementById('name');
dom.innerHTML ='Homer';
dom.style.color = 'red';

第二阶段,由于原生API不好用,还要考虑浏览器兼容性,jQuery横空出世,以简洁API迅速俘获了前端开发者的芳心:

$('#name').text('Homer').css('color','red');

第三阶段,MVC模式,需要服务器端配合,JavaScript可以在前端修改服务器渲染后的数据。

现在,随着前端页面越来越复杂,用户对于交互性要求也越来越高,想要写出Gmail这样的页面,仅仅用jQuery是远远不够的。MVVM模型应运而生。

MVVM最早由微软提出来,它借鉴了桌面应用程序的MVC思想,在前端页面中,把Model用纯JavaScript对象表示,View负责显示,两者做到了最大限度的分离。

把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

ViewModel如何编写?需要用JavaScript编写一个通用的ViewModel,这样就可以复用整个MVVM模型了。

如果我们使用MVVM框架来实现同样的功能,我们首先并不关心DOM的结构,而是关心数据如何存储。最最简单的数据存储方式是使用JavaScript对象:

var person = {
	name: 'Bart',
	age: 12
}

MVVM的设计思想:关注Model的变化,让MVVM框架去自动更新DOM的状态,从而把开发者从操作DOM的繁琐步骤中解脱出来!

MVVM是将“数据模型数据双向绑定”的思想作为核心
参考至廖雪峰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值