美文网首页
Vue生命周期

Vue生命周期

作者: 时修七年 | 来源:发表于2018-06-18 20:27 被阅读184次

Vue生命周期

1、什么是vue生命周期?

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

2、vue生命周期的作用是什么?

答:它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑。

3、vue生命周期总共有几个阶段?

答:它可以总共分为8个阶段:创建前/后, 载入前/后,更新前/后,销毁前/销毁后

4、第一次页面加载会触发哪几个钩子?

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

 var vm = new Vue({
     
      el: '#app',
      data: {
        name: 'vue-life',
        students: ['a','b','c']
      },
// vue实例被创建之前,此时实例的el和data都无法访问
      beforeCreate() {
        console.log('---beforeCreated---')
        console.log(this.$el)  //undefined
        console.log(this.name) //undefined
        //this.name = 'valley'
      },

// vue实例被创建之后,但此时$el尚未被挂载,因此$el无法获取,
但是可以访问data里面的数据了
      created() {
        console.log('---created---')
        console.log(this.$el)  // undefined
        console.log(this.name) //vue-life
        this.students[2] = 'cc'

        //console.log(document.querySelectorAll('#app li')[2].innerText)

        this.$nextTick(()=>{
          console.log('hello')
          document.querySelectorAll('#app li')[2].innerText = 'hello'
          console.log(this.name)
       }) 
      },
//此时已经找到$el=>#app,但是尚未渲染,没有被数据填充,$el.innerHTML为原始值
      beforeMount() {
        console.log('---beforeMount---')
        console.log(this.$el.innerHTML)
        console.log(this.name)
      },


      mounted() {
        console.log('---mounted---')
        console.log(this.$el.innerHTML)
        console.log(this.name)
        console.log('test....')
        console.log(document.querySelectorAll('#app li')[2].innerText)
      },
      beforeUpdate(a, b) {
        console.log('---beforeUpdated---')
        console.log(this.$el.innerHTML)//未更新之前的值
        console.log(this.name)
        console.log(a, b)
      },
      updated() {
        console.log('---updated---')
        console.log(this.$el.innerHTML) //更新之后的值
        console.log(this.name)
      },
      beforeDestroy() {
        console.log('---beforeDestory---')
        console.log(this.$el.innerHTML)
        console.log(this.name)
      },               
      destroyed() {
        console.log('---destoryed---')
        console.log(this.$el.innerHTML)
        console.log(this.name)
      }
    })


5、DOM 渲染在 哪个周期中就已经完成?

答:DOM 渲染在 mounted 中就已经完成了。

6、简单描述每个周期具体适合哪些场景?

答:生命周期钩子的一些使用方法: beforecreate : 可以在这加个loading事件,在加载实例时触发 created : 初始化完成时的事件写在这里,如在这结束loading事件,异步请求也适宜在这里调用 mounted : 挂载元素,获取到DOM节点 updated : 如果对数据统一处理,在这里写上相应函数 beforeDestroy : 可以做一个确认停止事件的确认框 nextTick : 更新数据后立即操作dom


微信公众号.png

相关文章

  • vue生命周期

    一 vue生命周期 Vue的生命周期:就是vue实例从创建到销毁的全过程 二 vue生命周期钩子 vue生命周期...

  • vue生命周期

    vue生命周期详: vue生命周期详解图: vue生命周期详解代码展示:

  • Vue生命周期

    Vue生命周期详解 一、Vue生命周期 与 作用 (生命周期钩子就是生命周期函数) (1)Vue生命周期:每个Vu...

  • vue3较vue2的特别之处 - 生命周期

    vue2 生命周期 vue3 生命周期 将 Vue2 的生命周期钩子代码更新到 Vue3 参考地址:https:/...

  • 前端之路-VUE面试题

    vue生命周期面试题vue 生命周期是什么? Vue 实例从创建到销毁的过程,就是生命周期 beforeCreat...

  • Vue.js入门(二):生命周期

    1 生命周期 Vue生命周期是Vue实例从创建到销毁的过程,就是生命周期。在Vue实例的生命周期过程中会运行生命周...

  • vue生命周期

    vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么?...

  • Vue 生命周期

    vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么?...

  • vue学习记录

    vue全家桶 vue生命周期 生命周期的理解 新建项目 ①:cnpm install vue-cli -g (全...

  • Vue生命周期

    Vue生命周期 1、什么是vue生命周期? 答: Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、...

网友评论

      本文标题:Vue生命周期

      本文链接:https://www.haomeiwen.com/subject/jqtoeftx.html