1. Vue中的双向数据绑定是如何实现的?
Vue中的双向数据绑定是通过v-model指令实现的。v-model指令会将表单元素的值绑定到组件实例中的数据属性上,同时也会将组件实例中的数据属性的值绑定到表单元素上。这样,当表单元素的值发生变化时,组件实例中的数据属性也会相应地更新,反之亦然。
2. Vue中的生命周期钩子有哪些?
Vue中的生命周期钩子分为8个阶段,分别是:
- beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用。
- created:在实例创建完成后被立即调用。在这一步,实例已完成以下操作:数据观测、属性和方法的运算、watch/event事件回调。但是挂载阶段还未开始,$el属性目前为undefined。
- beforeMount:在挂载开始之前被调用。相关的render函数首次被调用。
- mounted:el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。
- beforeUpdate:数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。
- updated:由于数据更改导致的虚拟DOM重新渲染和打补丁完成之后调用。
- beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
- destroyed:实例销毁之后调用。该钩子被调用后,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。