面试官:有使用过vue吗,说说你对vue的理解?

119 阅读1分钟

VUE是什么

Vue是一款声明式组件化基于MVVM双向数据绑定的用于构建用户界面的JavaScript框架。

VUE解决了前端开发中的什么痛点

Vue自动跟踪数据状态的变化并相应式更新dom,告别Jq时代频繁操作dom,让开发更专注于业务逻辑的实现.

VUE特性

声明式
  • Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。
响应性
  • Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。
组件化
  • Vue将UI拆分成可复用的组件,每个组件维护自身的状态和逻辑,易于管理和重用。

VUE与其他前端框架的简单对比

相同点

  • 都有组件化思想
  • 都支持服务器端渲染
  • 都有Virtual DOM(虚拟dom)
  • 数据驱动视图
  • 都有支持native的方案:VueweexReactReact native
  • 都有自己的构建工具:Vuevue-cliReactCreate React App

不同点

  • 数据流向的不同。react单向数据流,而Vue是双向数据流
  • 数据变化的实现原理不同。react使用的是不可变数据,而Vue使用的是可变的数据
  • 组件化通信的不同。react中我们通过使用回调函数来进行通信的,而Vue中子组件向父组件传递消息有两种方式:事件和回调函数
  • diff算法不同。react主要使用diff队列保存需要更新哪些DOM,得到patch树,再统一操作批量更新DOM。Vue 使用双向指针,边对比,边更新DOM

参考文献