努力是为了不平庸~
目录
共性:不管是前端到后端,还是后端到前端,使用传统的方式都必须首先拿到页面的Document元素,只有拿到了页面元素才能进行后续操作
vue有两种开发方式,一种是直接页面开发,一种是工程级开发,本示例使用的是直接页面开发方式。
1.vue介绍
1.1 什么是vue
vue是一个构建用户界面UI的渐进式javascript框架,渐进式的框架是指可以一步一步的由浅入深的去使用这个框架,该框架可以逐步引入项目。vue官网: https://cn.vuejs.org/
1.2 vue的优点
1.体积小
压缩后33k左右,体积小意味着下载速度很快。
2.更高的运行效率
基于虚拟dom,一种预先通过javascript进行各种计算,把最终的DOM操作计算出来并进行优化的技术。所谓虚拟dom指的是对真实dom的一种模拟。相对于直接操作真实dom,我们构建一棵虚拟的dom树,将各式数据和操作直接应用到这颗虚拟的dom树上,然后再虚拟的树修改应用到真实的dom树中,有助于减少dom的操作次数,带来性能上的提升,可以频繁的操作虚拟节点,然后一定时刻一次性的同步修改到真实dom节点
3.双向数据绑定
让开发者不用再去操作dom对象,把更多精力投入到业务逻辑上来
4.生态丰富,学习比较简单
市场上有很多稳定成熟的基于vue的ui框架可以拿来使用,实现快速开发。中国人开发的,中文资料丰富。
2. 库和框架的区别
2.1 库
本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者,js中最典型的是jQuery,jquery本质上是封装dom操作,简化dom操作的工具库
2.2 框架
框架是一套完整的解决方案,使用框架是需要遵循框架的规则,将代码放入框架的合适位置,框架在合适的时候调用代码。代表Vue。一种框架会规定自己的编程方式,使用框架的时候,由框架控制一切,我们只需要按照规则写代码,侵入性较高。
3. MVVM(数据双向绑定)
MVVM,一种更好的UI模式解决方案,MVVM通过数据双向绑定让数据自动地双向同步
标题 | 解释 |
MVVM | M-V-VM |
M | Model数据模型,json格式的数据 |
V | view视图,JSP,HEML |
VM | ViewModel视图模型,把Model和view关联起来就是ViewModel,viewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model |
1) V(修改数据) -> M 将视图层的数据通过事件将数据提交到后端服务器(前端到后端)
$('#btn_login').click(function(){
通过ajax将页面中的数据通过json格式传递到后端服务器
});2) M(修改数据) -> V 将后端数据(JSON)通过赋值的方式在视图层展现(后端到前端)
通过ajax的方式调用后端的数据接口将回传过来的JSON数据渲染到页面
$('#book_name').val("xxx");
...
共性:不管是前端到后端,还是后端到前端,使用传统的方式都必须首先拿到页面的Document元素,只有拿到了页面元素才能进行后续操作
注1:虽然没有完全遵循MVVM模型,Vue的设计无疑受到了它的启发。另外一个js框架“knockout”完全遵循MVVM模型