Vue是一套用于构建用户界面的渐进式框架。Vue采用自底向上增量开发的设计,提供了MVVM数据绑定和可组合的组件系统,具有简单、灵活的API,通过简单的API可实现响应式的数据绑定和可组合的视图组件。
主要特点:
1)轻量级
Vue能自动追踪依赖的模板表达式和计算属性,具有见到那灵活的API,使开发人员容易理解和更快上手。
2)双向数据绑定
Vue采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。
3)指令
Vue与页面进行交互死通过内置指令来完成的。指令的作用是当表达式的值改变时相应地将交互行为应用到DOM上。
4)组件化
Component可以扩展HTML元素,封装可重用的代码;父子组件通信可通过props从父向子单向传递通信,子组件与父组件通过触发事件emit通知父组件改变数据。兄弟组件通信有Bus、Vuex;跨级组件通信则有Bus、Vuex、provide/inject、attrs/listeners
5)路由
Vue-router是Vue的路由插件,用于构建单页面应用。路由用于设定访问路径并将路径和组件映射起来,而传统的是通过超链接实现页面的切换和跳转。
6)状态管理
Vuex是一个专为Vue应用程序开发的状态管理模式。其实就是一个单向的数据流,State驱动View的渲染,而用户对View进行操作产生Action,使State产生变化,从而使View重新渲染,形成一个单独的组件。
优势:
Vue组件化开发,减少代码量,易于理解;
Vue使用路由不
会刷新
页面,局部刷新;
MVVM开发模式,双向数据绑定;
采用虚拟DOM,可进行服务端渲染