"2023Vue面试题总结-组件通讯、数据函数及生命周期详解"

需积分: 5 0 下载量 187 浏览量 更新于2023-12-13 收藏 52KB DOCX 举报
2023年的vue面试题总结共有17页,主要涵盖了以下内容: 1、MVVM 与 MVC 最大的区别: - MVVM实现了View和Model的自动同步,当Model的属性改变时,该属性对应的View层显示会自动改变; - MVVM简化了业务与界面的依赖,解决了数据频繁更新的问题,不用使用选择器操作DOM元素。 2、Vue 中为什么data是一个函数: - 组件的data写成一个函数形式,数据以函数返回值的形式进行定义; - 每复用一次组件,就会返回一份新的data,让各个组件实例维护各自的数据。 3、Vue 组件通讯的方式有: - 使用props和$emit进行父子组件通信。父组件向子组件传递数据是通过props传递的,子组件传递给父组件是通过$emit触发事件来实现的; - 使用$parent和$children获取当前组件的父组件和子组件; - 使用$refs获取组件实例; - 使用provide和inject进行父传子孙组件之间的通信; - 使用vuex进行状态管理,实现不同组件之间的数据共享。 4、Vue的生命周期方法有以下几种: - beforeCreate:在初始化实例前执行(在当前阶段data、methods、computed以及watch都还未初始化); - created:在实例创建完成后执行,此阶段完成了数据的观测等,但尚未挂载DOM,$el还不可用; - beforeMount:在挂载之前执行,相关的render函数首次被调用; - mounted:实例挂载到DOM后执行,此时el被新创建的vm.$el替换,挂载完成后的操作可以放在这里; - beforeUpdate:数据更新前调用,发生在虚拟DOM重新渲染和打补丁之前; - updated:由于数据更改导致的虚拟DOM重新渲染和打补丁完成后调用; - beforeDestroy:实例销毁前调用,此阶段还可以访问组件实例上的数据,但是实例仍然完全可用; - destroyed:实例销毁后调用,此阶段完成了所有的清理和销毁工作。 以上是对2023年vue面试题的总结,涵盖了MVVM和MVC的区别、Vue中data的函数形式、组件通信的方式以及Vue的生命周期方法等内容。这些知识点是vue开发中常遇到的问题,掌握了这些知识,可以更好地应对vue相关的面试。