前端-Vue

vue

MVVM和MVC区别

  • MVVM 即 Model-View-ViewModel 的简写,即模型-视图-视图模型
  • MVC 是 Model-View- Controller 的简写。即模型-视图-控制器。

Vue 数据双向绑定的原理

  • Vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty()来劫持各个属性的 setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

Vue的生命周期

  • Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载 Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue

  1. beforeCreate

    在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用

  2. created

    在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer)属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不 可见

  3. boforeMount

    在挂载开始之前被调用:相关的 render 函数首次被调用

  4. mounted

    el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子,如果 root 实例挂载了一 个文档内元素,当 mounted 被调用时 vm.$el 也在文档内

  5. beforeUpdate

    数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM, 比如手动移除已添加的事件监听器,该钩子在服务器端渲染期间不被调用,因为只有初次渲染会 在服务端进行

  6. updated

    由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子

  7. beforeDestroy

    实例销毁之前调用。在这一步,实例仍然完全可用。该钩子在服务器端渲染期间不被调用

  8. destroyed

    Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监 听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用

第一次加载触发哪几个钩子

当页面第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子函数

posted @ 2022-10-10 15:17  凉宫春日大胜利  阅读(49)  评论(0)    收藏  举报