美文网首页
vue生命周期-销毁流程

vue生命周期-销毁流程

作者: tutututudou | 来源:发表于2022-07-05 17:15 被阅读0次
lifecycle.png

vm.destroy()

vm销毁了.PNG
<div class="root" :n="n">
    <h1>让n加1:   {{n}}</h1>
    <button @click="add">点击加1</button>
    <button @click="quit">销毁了</button>
  </div>
  <script>
  Vue.config.devtools = true;
  const vm = new Vue({
    el:'.root',
    data:{
      n:1
    },
    methods:{
      add(){
        this.n++
      },
      quit(){
        this.$destroy()//销毁了,但是页面之前更新的数据不会被销毁,有残留
      }
    },
    beforeCreate(){
      console.log('beforeCreate')
      console.log(this)
      // debugger
    },
    created(){
      console.log('created')
      console.log(this)
      //debugger
    },
    beforMount(){
      console.log('beforeMount')
      console.log(this)
      // debugger
    },
    mounted(){
      console.log('mounted')
      console.log(this)
      // debugger
    },
    beforeUpdate(){
      console.log('beforeUpdate')
      console.log(this.n)
      // debugger
    },
    updated(){
      console.log('updated')
      console.log(this.n)
      // debugger
    }
  })
  // vm.$mount('.root')
  </script>
  • 一般用来销毁组件
  • vm销毁,事件还是被响应着,系统事件不会被销毁,只有自定义事件被销毁,点击还是会触发回调,但是数据没有变化

beforeDestroy、destroyed

  • beforeDestroy 方法数据都可用,马上就要被销毁了
  • 还能访问到数据,但是不能修改数据了
  • 一般做收尾的事:关闭定时器,取消订阅,解绑自定义事件
  • destroyed 数据方法定时器什么都没有了
  <div class="root" :n="n">
    <h1>让n加1:   {{n}}</h1>
    <button @click="add">点击加1</button>
    <button @click="quit">销毁了</button>
  </div>
  <script>
  Vue.config.devtools = true;
  const vm = new Vue({
    el:'.root',
    data:{
      n:1
    },
    methods:{
      add(){
        this.n++
      },
      quit(){
        this.$destroy()
      }
    },
    beforeCreate(){
      console.log('beforeCreate')
      console.log(this)
      // debugger
    },
    created(){
      console.log('created')
      console.log(this)
      //debugger
    },
    beforMount(){
      console.log('beforeMount')
      console.log(this)
      // debugger
    },
    mounted(){
      console.log('mounted')
      console.log(this)
      // debugger
    },
    beforeUpdate(){
      console.log('beforeUpdate')
      console.log(this.n)
      // debugger
    },
    updated(){
      console.log('updated')
      console.log(this.n)
      // debugger
    },
    beforeDestroy(){
      console.log('beforeDestroy')//点击销毁按钮
      console.log(this.n)// 不会触发数据更新
      // debugger
    },
    destroyed(){
      console.log('destroyed')//点击销毁按钮
      console.log(this.n)
      // debugger
    }
  })
  // vm.$mount('.root')
  </script>
  • 点击销毁按钮


    点击销毁按钮后.PNG

  • vm.destroy() 自己销毁(自杀行为,一般都不用)>>>beforeDestroy 销毁就调用 >>>destroyed 数据方法都没有了

相关文章

  • vue生命周期

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

  • 前端之路-VUE面试题

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

  • vue生命周期-销毁流程

    vm.destroy() 一般用来销毁组件 vm销毁,事件还是被响应着,系统事件不会被销毁,只有自定义事件被销毁,...

  • Vue生命周期

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

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

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

  • vue(2)生命周期

    一、Vue生命周期 vue 生命周期有 创建、挂载、更新、销毁 四个阶段 创建前(beforeCreate):实例...

  • vue 的8个生命周期

    Vue 的生命周期指的是组件从创建到销毁的一系列的过程,被称为 Vue 的生命周期,包括初始化–挂载–更新–销毁过...

  • vue生命周期

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

  • Vue 生命周期

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

  • vue学习第二课之vue的生命周期

    vue生命周期图解: vue实例的生命周期 什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样...

网友评论

      本文标题:vue生命周期-销毁流程

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