Vue 生命周期( created、mounted、methods、computed、watched)


生命周期:

  beforecreate :

  一般使用场景是在加 loading事件 的时候


  created :

  处于loading结束后,还做一些初始化,实现函数自执行(data数据已经初始化,但是DOM结构渲染完成,组件没有加载)


  beforemount :

  处于组件创建完成,但未开始执行操作


  mounted :

  处于发起后端请求,获取数据,配合路由钩子执行操作(DOM渲染完成,组件挂载完成 )


  beforeupdate、updated :

  处于数据更新的前后


  beforeDestroy :

  当前组件还在的时候,想删除组件


  destroyed :

  当前组件已被销毁,清空相关内容

 

created 与 mounted 的区别

  created :

  在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。


  mounted :

  在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。

 

mounted 与 methods 的区别

  mounted :

  是生命周期方法之一,会在对应生命周期时执行。

 

  methods :

  是Vue实例对象上绑定的方法,供当前Vue组件作用域内使用,未调用不会执行,只执行逻辑,返回值可有可无。

 

computed 与 watched 的区别

  computed : 

  是计算属性,也可以理解为一个方法。其中计算的结果如果不发生改变就不会触发,且必须返回一个值并在DOM中绑定的才能取得值。他可以自动获取数据的改变。

 

  watched :

  属性是手动定义的所需监听的值,不同的数据可以在其中多次定义监听值,这时会消耗一定性能,他并不能像computed那样自动改变。

 

 

  <script>
    let vm=new Vue({
      el:"#app",
      data:{
        name:"onceweb"
      },
      beforeCreate(){
        console.log("创建之前")
        console.log(this.$el)
        console.log(this.$data)
      },
      created(){
        console.log("成功创建")
        console.log(this.$el)
        console.log(this.$data)
      },
      beforeMount(){
        console.log("挂载之前")
        console.log(this.$el)
        console.log(this.$data)
      },
      mounted(){
        console.log("成功挂载")
        console.log(this.$el)
        console.log(this.$data)
      },
      beforeUpdate(){
        console.log("更新之前")
        let name = this.$refs.app.innerHTML
        console.log('name:'+name)
      },
      updated(){
        console.log("成功更新")
        let name = this.$refs.app.innerHTML
        console.log('name:'+name)
      },
      beforeDestory(){
        console.log("销毁之前")
      },
      destoryed(){
        console.log("成功销毁")
      }
    });
  </script>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM