一:vue是什么?
1,一款流行的用于创建用户界面的开源js前端框架,旨在更好的组织与简化开发;
2,一个创建单页面应用的web应用框架,所关注的核心是MVC模式中的视图层,同时也能方便的获取数据更新,并通过组件内部特定的方法实现视图与模型的交互
二:vue的核心特性?
1,数据驱动(MVVM):Model-View-ViewModel
Model:模型层,负责处理业务逻辑以及和服务器端进行交互
View:视图层,负责将数据模型转化为UI展示出来,可以简单的理解为HTML页面
ViewModel:视图模型层,用来连接Model和View,是通信桥梁
2,组件化
1,什么是组件化:就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在vue中每一个.vue文件都可以视为一个组件
2,组件化的优势:
- 降低整个系统的耦合度,在保持接口不变的情况,可以替换不同的组件快速完成需求。
- 调试方便,能快速定位。原因是因为每个组件之间低耦合,职责单一。
- 提高可维护性,对代码进行优化可获取系统的整体升级
3,指令系统:是带有v-前缀的特殊属性,当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM,常见指令有(v-if,v-for,v-bind,v-model,v-on)。在没有指令之前,我们是需要先获取dom节点然后再干的啥
三:vue和传统开发的区别?
- vue所有的界面事件,都是只去操作数据,jquery操作DOM
- vue界面的变动,都是根据数据自动绑定出来的,jquery操作DOM
四:vue和React对比?
相同点:
- 都有组件化思想
- 都支持服务器端渲染
- 都有虚拟DOM
- 数据驱动视图
- 都有支持native的方案:Vue有weex,React有React native
- 都有自己的构建工具:Vue的vue-cli,React的Create React App
区别:
- 数据流向不同,vue是双向数据流,react是单向数据流
- 数据变化的实现原理不同。React使用的是不可变数据,vue使用的是可变数据
- 组件化通信不通:React是使用回调函数,vue是事件+回调函数
- diff算法不同,react是diff队列保存需要更新的Dom,得到patch树,再统一操作批量更新DOM。Vue是使用双向指针,边对比,边更新DOM
五:vue2.0和vue3.0的区别?
vue2.0和vue3.0的主要区别包括性能优化,API设计,响应式系统,TS支持以及其他特性
- 性能优化:通过引入新的虚拟DOM算法和编译时的优化,如静态提升,Tree-shaking等技术,显著提高渲染速度和减少内存消耗。在挂载和更新性能上显著提高
- API设计:组合式API比2.0的选项式API相比,提供了更好的逻辑复用和代码组织能力。
- 响应式系统:使用Proxy对象作为响应式基础,允许跟踪更多类型的变化,提供更好的性能。Vue 2.0使用Object.defineProperty来实现其响应式系统,这种方法有一些限制,例如无法检测到对象属性的添加或删除。
- TS支持
- 其他:支持Fragment语法,允许组件返回多个根节点,提高组件的灵活性。还增加了Suspense组件和异步组件的改进,使得在加载异步组件时可以显示加载状态或占位符,提高了用户体验。