一、Vue框架概述与MVVM设计模式

Vue.js是一个渐进式的基于MVVM设计模式的纯前端javascript框架。

适用于以数据增删改查操作为主的项目。

中文官网:https://cn.vuejs.org/

优点:(1)渐进式:不要求整个项目都用Vue做,可以和个别技术混搭;

           (2)纯前端js框架:与nodejs无关!单靠浏览器就可以运行;

           (3)便于大项目的开发,避免重复编码,提高开发效率。

使用:(1)直接下载,并使用script引入vue.js文件;

           (2)使用Vue-Cli脚手架工具。


MVVM设计模式是对前端三大部分代码的重新划分。

原理:访问器属性+观察者模式+虚拟Dom树

(1)View——界面/视图

包括传统的HTML+CSS,增强了HTML的功能:

比如:HTML中可以写变量,js表达式,分支和循环等程序。

(2)Model——模型

程序中创建的或从服务端获取的数据,一般用JS中的一个对象来保存。

模型对象中保存着一个页面所需要的所有变量。

(3)ViewModel——视图模型

替代手写的Dom/Jquery操作,把模型中的数据和界面中的HTML元素 “绑定” 在一起。

可让页面元素内容和js程序中的数据联动变化,自动同步数据和页面元素。


Tips:

(1)定义界面的时候,整个界面只能包含在一个统一的父元素下。

        <div id="app">......</div>

(2)new Vue ( ) 将 data{ } 对象引入new Vue ( ) 中,并打散 data { } 对象,使 data { } 对象中的每个属性都变为单独的属性,直接隶属于 new Vue( ) 对象下。

(3)new Vue ( ) 将 methods{ } 对象引入new Vue ( ) 中,并打散 methods { } 对象,使 methods { } 对象中的方法/函数直接隶属于 new Vue( ) 对象下。

(4)methods { } 对象中的方法/函数和 data { } 对象中的每个属性属于平级,所以,在methods的方法中,可以直接用 "this.属性名" 去操作data中的属性。

(5)虚拟Dom树(Virtaul Dom)

只保存可能变化的节点的简化版Dom树。

new Vue( ) 时,vue对象通过扫描真实的Dom树,只将可能变化的元素保存到虚拟Dom树上。

当收到变量改变的通知时,vue会快速遍历虚拟Dom树,找到受影响的元素,调用已经封装好的Dom函数,只更新页面中受影响的元素,不受影响的元素,不会改变。

优点:a.小,仅保存可能变化的元素,遍历快,查找快!

           b.只更新受影响的元素,效率高!

           c.已经封装了Dom操作,自动修改页面,避免大量重复的Dom操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容