Skip to content
1StepEngineer edited this page Aug 26, 2020 · 11 revisions

Vue.js 特点

1. 体积小 压缩后 33k

2. 更高运行效率 基于虚拟dom。一种预先通过js进行计算,把最终dom操作计算出来并优化的技术,由于这个dom操作属于预处理操作,并没有真是操作dom,所以叫做虚拟dom。

3. 双向数据绑定 开发者不用操作dom,数据变,视图变

4. 生态丰富,学习成本低

请谈谈Vue中的MVVM模式

MVVM全称是Model-View-ViewModel。 Vue是以数据驱动视图,Vue自身将DOM和数据进行绑定,一旦创建绑定,DOM和数据将保持同步。 ViewModel是Vue的核心,它是Vue的一个实例。Vue实例时作用域某个HTML元素上的这个HTML元素可以是body,也可以是某个id所指代的元素。

Vue如何实现数据双向绑定?

参考:http://www.cnblogs.com/canfoo/p/6891868.html

通过数据劫持发布者-订阅者模式方式来实现的。
数据劫持:通过Object.defineProperty实现,利用set和get方法,进行数据的劫持,就可以在set函数里添加dom赋值的代码。
发布者-订阅者模式

如何理解Vue的生命周期

参考: https://segmentfault.com/a/1190000010336178 avatar avatar

组件相关

谈谈vue、react、angualr三大框架对比

Vue react angular
学习成本 -- jsx、es6 typescript、es6
思想 Virtual DOM
提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
将其他功能如路由和全局状态管理交给相关的库
Virtual DOM
提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
将其他功能如路由和全局状态管理交给相关的库
脏检查
生态系统 🏆🏆🏆 🏆🏆🏆🏆 🏆🏆🏆
运行性能 🏆🏆🏆🏆 🏆🏆🏆🏆 🏆🏆
指令 思想参考于ng
指令与组件区分
指令组件都是由指令完成

v-showv-if的区别

v-show:指令是通过修改元素的display属性让其显示或者隐藏
v-if:直接销毁和重建DOM达到让元素显示和隐藏的效果

<keep-alive>的作用是什么?

包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染。
比如有一个列表和一个详情,那么用户就会经常执行打开详情=>返回列表=>打开详情…这样的话列表和详情都是一个频率很高的页面,那么就可以对列表组件使用进行缓存,这样用户每次返回列表的时候,都能从缓存中快速渲染,而不是重新渲染。

Vue组件库思想

Clone this wiki locally