千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

1.路由懒加载: 一种优化网页性能的技术,可以显著提升网页加载速度。
2.插槽:默认、具名插槽
相当于预留一个位置,将组件内容放入,写一个插槽就会将组件内容替换一次,可以自定义名字,根据插槽名插入内容
3.vue和react中diff算法
是一种通过树节点进行比较的高效算法,避免了对数进行逐层搜索遍历
1)做同级比较,不会跨级比较
2)diff比较过程中,循环从两边向中间收拢
vue:类名不同,也会认为不同,会被替换
react:div相同,类名不同,认为是相同节点
4.vue组件为什么data是函数
每次复用组件,返回一个新data,相当于创建一个私有的数据空间,让每个组件维护各自数据,如果是对象,就会使得所有组件实例共用一个data,会造成一个改变全都会改变的结果
5.vue组件通信
1)props和$emit:父向子通过props,子向父通过$emit
2)$attrs和$listeners:跨层级,多个父组件,子组件
3)provide和inject:可跨级,父组件通过provide提供变量,子组件inject来注入变量
4)中央事件总线eventbus:不太复杂的(原理:发布者订阅模式)
5)$parent和$children
6)vuex:状态管理工具,任何组件中随时使用,不需要考虑层级关系
7)v-model:父组件通过v-model传值给子组件,会自动传递一个value的prop属性,在子组件中通过this.$emit('input',val)自动修改v-model绑定的值
8)boradcast和dispatch(订阅发布的变形)