-
vue 双向绑定的原理
vue双向数据绑定是通过数据劫持集合发布者订阅模式的方式来实现的,也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生变化,其核心是Object.defineProperty()方法,这个方法有三个参数,分别是对象、属性和方法,对象就是属性要定义到这个对象上面,属性就是要修改的属性,方法就是具体的改变方法。
-
vue的data为什么必须使用函数
因为函数有自己的作用域,使用函数的话各组件之间的data互相之间不会影响。
-
vue组件之间有哪些传值 方式
props和
e
m
i
t
实
现
父
子
组
件
传
值
,
emit实现父子组件传值,
emit实现父子组件传值,parent和
c
h
i
l
d
r
e
n
获
取
父
组
件
和
子
组
件
,
children获取父组件和子组件,
children获取父组件和子组件,refs获取实例组件,
e
m
i
t
/
emit/
emit/on事件总线,vuex状态管理器。
-
vue router的原理
vue router的原理是更新视图但不重新请求页面,主要有两种方式hash模式和history模式,hash模式带#,history模式不带#号
-
vue router有哪些钩子
beforeEach(全局前置守卫)、afterEach(全局后置守卫),beforeEnter(路由独享守卫),组件内守卫(beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave)
-
vue的性能优化
vue性能优化可以从两方面进行优化,第一就是源码优化,第二就是打包优化。源码优化可以从提高组件的复用性,给for循环设置key值(可以更快的定位到diff),给路由设置懒加载,使用keep-alive对组件进行缓存几个方面进行优化,打包优化可以修改vue.config.js的配置项,把productionSourceMap设置成 false,使用cdn的方式加载一些外部资源,用css3的效果来代替 图片,按需引入几个方面来进行优化。
-
vue的deef算法
-
vue3.0的新特性
压缩体积更小,使用es6的proxy代替defineProperty,Virtual DOM重构(虚拟DOM重构),编译时优化(Slot插槽默认编译为函数),更好的支持TypeScript。