面试记录

77 阅读1分钟

Vue2.x组件通信有哪些方式? 父子组件通信 父->子props,子->父 onon、emit 获取父子组件实例 parentparent、children Ref 获取实例的方式调用组件的属性或者方法 Provide、inject 官方不推荐使用,但是写组件库时很常用 兄弟组件通信 Event Bus 实现跨组件通信 Vue.prototype.bus=newVueVuex跨级组件通信Vuexbus = new Vue Vuex 跨级组件通信 Vuex attrs、$listeners Provide、inject

你都做过哪些Vue的性能优化? 尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的watcherv-if和v-for不能连用如果需要使用v-for给每项元素绑定事件时使用事件代理SPA 页面采用keep-alive缓存组件在更多的情况下,使用v-if替代v-showkey保证唯一使用路由懒加载、异步组件防抖、节流第三方模块按需导入长列表滚动到可视区域动态加载图片懒加载

keep-alive了解吗 keep-alive可以实现组件缓存,当组件切换时不会对当前组件进行卸载。 常用的两个属性include/exclude,允许组件有条件的进行缓存。 两个生命周期activated/deactivated,用来得知当前组件是否处于活跃状态。 keep-alive的中还运用了LRU(Least Recently Used)算法。 (又是数据结构与算法,原来算法在前端也有这么多的应用)

你的接口请求一般放在哪个生命周期中? 接口请求一般放在mounted中,但需要注意的是服务端渲染时不支持mounted,需要放到created中。