VUE是什么
Vue是一款声明式、组件化基于MVVM双向数据绑定的用于构建用户界面的JavaScript框架。
VUE解决了前端开发中的什么痛点
Vue自动跟踪数据状态的变化并相应式更新dom,告别Jq时代频繁操作dom,让开发更专注于业务逻辑的实现.
VUE特性
声明式
- Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。
响应性
- Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。
组件化
- Vue将UI拆分成可复用的组件,每个组件维护自身的状态和逻辑,易于管理和重用。
VUE与其他前端框架的简单对比
相同点
- 都有组件化思想
- 都支持服务器端渲染
- 都有Virtual DOM(虚拟dom)
- 数据驱动视图
- 都有支持native的方案:
Vue的weex、React的React native - 都有自己的构建工具:
Vue的vue-cli、React的Create React App
不同点
- 数据流向的不同。
react单向数据流,而Vue是双向数据流 - 数据变化的实现原理不同。
react使用的是不可变数据,而Vue使用的是可变的数据 - 组件化通信的不同。
react中我们通过使用回调函数来进行通信的,而Vue中子组件向父组件传递消息有两种方式:事件和回调函数 - diff算法不同。
react主要使用diff队列保存需要更新哪些DOM,得到patch树,再统一操作批量更新DOM。Vue使用双向指针,边对比,边更新DOM