🔥系列专栏:面试宝典 🎉欢迎关注👀点赞👍收藏⭐留言📝 🥇个人主页:hacker_demo的51CTO博客 💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请多关照,我的人生,敬请期待💖💖💖

6cca30376d389080e4ff9ba305ce12a3.jpeg (前端面试题)

组件通讯

父传子: props / $emit 子传父: $emit / $on 多级组件之间传递数据: $attrs / $listeners 父子通信: 父向子传递数据是通过 props,子向父是通过 events( $emit); 通过父链 / 子链也可以通信( $parent / $children);ref 也可以访问组件实例; provide / inject API; a t t r s / attrs/attrs/listeners · 兄弟通信: Bus;Vuex · 跨级通信: Bus;Vuex;provide / inject API、 attrs / attrs/attrs/listeners

父子组件生命周期渲染过程

首次加载:先父组件create初始化创建js模型,然后子组件创建js模型 子组件渲染完之后,父组件再渲染 创建实例是从外到内的,渲染是从内到外的 加载渲染: 父beforeCreate —> 父created —> 父beforeMount —> 子beforeCreate —> 子created —> 子beforeMount —> 子mounted —> 父mounted 更新阶段:父beforeUpdate —> 子beforeUpdate —> 子updated —> 父updated 销毁: 父beforeDestroy —> 子beforeDestroy —> 子destroyed —> 父destroyed

Vue响应式原理

响应式:当数据改变后,Vue会通知使用该数据的代码 比如说:视图渲染使用了一个数据 那么当这个数据改变后,视图会响应式的自动更新 Vue 它是通过那个Object.defineProperty() 来更新定义 data中的所有属性