问问题的方式好怪这个面试官。。反问的时候也感觉说不出什么
1、改变this指向的方法?call bind apply区别
2、new一个对象发生了什么
3、强制类型转换和隐式类型转换
4、对vue的生命周期怎么理解,A页打开B页生命周期发生了什么
- 父子组件间页面渲染会先执行beforeCreate、created、beforeMount,然后执行子组件并渲染完成,结束后执行父组件的mounted
- 兄弟组件之间的切换不是我们之前想象的先销毁当前组件,再去渲染目标组件(这样会使白屏时间很长)。正确的姿势是先执行目标组件的beforeCreate、created、beforeMount,然后再执行当前组件的beforeDestroy和destroyed,销毁结束之后再执行目标组件的mounted。
- 大杂烩情况下,需要学习的是beforeDestroy是从父级往子级方向执行的,destroyed是子级往父级方向执行的。
5、vue组件间通信的方式,讲下eventBus
6、对vue单向数据流的理解,props真的不能改变吗
7、vue3为啥要使用proxy,你说性能有优化,体现在哪里;vue3为啥要使用setTimeout
8、history路由和hash路由是怎么实现的
9、es6新增了哪些属性;promise.all返回的结果根据什么来定的
10、v-model原理
11、vue如何重置data;想做离开页面有弹窗提示怎么做
vue中:
this.$data 获取当前状态下的data
this.$options.data() 获取该组件初始状态下的data
所以,下面就可以将初始状态的data复制到当前状态的data,实现重置效果:
Object.assign(this.$data, this.$options.data())