资料内容:
生命周期:
beforeCreate:会在实例初始化完成、props 解析之后、data() 和 computed 等选项处理之前立即调用。 此时不能获得DOM节点
created:在这个阶段vue实例已经创建,以下内容已经设置完成:响应式数据、计算属性、方法和侦听 器。然而,此时挂载阶段还未开始,因此 $el 属性仍不可用。仍然不能获取DOM元素。
beforeMount:在组件内容被渲染到页面之前自动执行的函数,组件已经完成了其响应式状态的设置,但 还没有创建 DOM 节点。
mounted:在组件被渲染之后自动执行的函数。一般我们的异步请求都写在这里。在这个阶段,数据和
DOM都已被渲染出来。
beforeUpdate:数据变化的时候自动执行的函数,此时变化后的数据还未渲染到页面之上。. updated:数据变化之后自动执行的函数,此时变化后的数据已经渲染到页面之上
beforeDestroy:当 Vue 应用被销毁时,自动执行的函数。
destroyed当 Vue 应用被销毁后,且 dom 完全销毁之后,自动执行的函数。
Vue双向绑定:
vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫持各个属 性的 setter , getter ,在数据变动时发布消息给订阅者,触发相应的监听回调,
v-model 是一个指令,双向绑定实际上是Vue 的编译器完成的,通过输出包含 v-model 模版的组件渲染 函数,实际上还是 value 属性的绑定及 input 事件监听,事件回调函数中会做相应变量的更新操作。vbind:value = "message" v-on:input = "message=event.target.value" 作用在组件上,本质是一个父子组 件通信的语法糖,通过 prop 和 .emit 实现, 等同于:value = "message" @input = "$emit('input', $event.target.value)"