前端面试题整理

146 阅读1分钟

1、Vue的生命周期

beforeCreate

在实例初始化之后,进行数据侦听和事件/侦听器的配置之前同步调用

created

在实例创建完成后被立即同步调用。在这一步中,实例已完成对选项的处理,意味着以下内容已被配置完毕:数据侦听、计算属性、方法、事件/侦听器的回调函数。然而,挂载阶段还没开始。

beforeMount

在挂载开始之前被调用:

mounted

实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。

注意 mounted 不会保证所有的子组件也都被挂载完成。如果你希望等到整个视图都渲染完毕再执行某些操作,可以在 mounted 内部使用 this.$nextTick

mounted() { 
    this.$nextTick(() => { 
        // 仅在整个视图都被渲染之后才会运行的代码 
    }) 
}

beforeUpdate

在数据发生改变后,DOM 被更新之前被调用。

updated

在数据更改导致的虚拟 DOM 重新渲染和更新完毕之后被调用。

beforeDestroy

实例销毁之前调用。在这一步,实例仍然完全可用。

destroyed

实例销毁后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。

image.png

keep-alive 相关

activated

被 keep-alive 缓存的组件激活时调用。

deactivated

被 keep-alive 缓存的组件失活时调用。

2、父子组件传值