浅谈Vue.js
Vue.js
Vue.js是一套用于构建用户界面的渐进式框架。
渐进式是指,它既可以作为一个库使用,又可以作为一个框架使用 ,两个之间自如选择。库是不具有侵略性,在原有项目可以引入作为第三方依赖使用;框架是具有侵入性的,整个项目是用vue构建的。
Vue.js诞生
前端技术栈的发展主要经历了三大阶段:
第一阶段,基础静态页面阶段。用的是HTML、CSS、JavaScript原生技术。
第二阶段,是前端库/封装库的出现,如Query。他们解决了浏览器原生API效率低和兼容性的问题。实质上,他们是把原生的API做了二次封装,操作dom更加简明,便于开发和掌握。
第三阶段,也就是当今时代,可以称为“组件化的时代”。这主要因为node的出现,前端开发者可以借助node开发各种自动化工具,webpack/各种包管理器,进入催生了一批前端框架的诞生,如Vue.js/React/Angular。前端开发逐步工具化、工程化。
打包编译都可以用其他语言实现,但是Node.js出现后,js从只能跑在浏览器上转变为能跑在操作系统上,熟悉js语言的前端工程师更容易开发出一系列自动化工具,前端生态繁荣以来。
vue.js等框架依赖许多底层的提供能力,它定义的语法规则需要解析,就依赖于语法解析Bable、webpack打包模块等。
Vue.js三大核心
Vue.js的核心是“数据驱动视图”
它有三大核心特征,响应式/数据驱动、组件化、虚拟DOM。
MVVM
MVVVM模型
MVVM,它是一个软件架构模式。
它包括View、Model和ViewModel三个部分。通俗来说,View是视图;Model是模型,指存储数据的地方;ViewModel和MVVM的核心,是一个调度者,负责控制数据在view 和model之间的流动。
MVVM模式的主要目的是为了分离(View)和(Model),二者通过ViewModel交互。如此一来,具有低耦合和可重用性的特点。
低耦合性:视图可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上。
可重用性:在ViewModel中放入视图逻辑,多个View即可重用这部分的视图逻辑。
vue实现的MVVM模型
Vue.js实现了MVVM这种模式理念。
View是用户界面的DOM结构、Model 是JS简单对象,存数据的地方。ViewModel是Vue的实例,由它实现了数据的双向绑定。
Vue()是一个构造函数,用new
Vue(构造参数)得到的就是一个实例,Vue实例对象是Vue.js中最基本的单元。实例参数选项有el、data、template、components等。在项目中,
在main.js中通过创建最外层的Vue实例对象来实现根结点、根组件的功能。