vue面试
vue生命周期
beforeCreate(创建前):在数据观测和初始化还没开始
created(创建后):完成数据观测,属性和方法的运算,初始化事件,$el属性还没显示出来
beforeMount(挂载前):编译模板,把data里面的数据和模板生成html但是还没挂载到html上
mounted(挂载后):在el被新创建的vm.$el替换,并挂载到实例上,实例已完成配置,编译好的html内容替换el属性指向DOM对象
beforeUpdata(更新前):在数据更新前调用。
updated(更新后):调用时,组件DOM已经更新,所以可以依赖DOM的操作
beforeDestroy(销毁前):实例销毁前调用,实例仍然可以使用
destroyed(销毁后):实例被销毁后调用,所有事件监听被移除。
vue双向数据绑定原理
vue实现数据双向绑定主要是:采用数据挟持结合发布者-订阅者模式,通过object.defineProperty()来挟持各个属性的setter,getter。在数据有变化时发布消息给订阅者,触发相应监听回调。
vue组件间的参数传递
父传子:子组件通过props方法接受数据
子传父:$emit传递
兄弟组件:vuex