• vue生命周期笔记-version0.1


    一:vue父子组件生命周期钩子执行先后顺序 

    代码 :

    父组件(A.vue)
    <template>
    <div>
      <div id="example">
        <p>Original message: "{{ message }}"</p>
        <p>Computed reversed message: "{{ reversedMessage }}"</p>
        <child></child>
      </div>
    </div>
    </template>
    
    <script>
    import child from './B'
    export default {
      name: 'A',
      data () {
        return {
          message: 'Hello'
        }
      },
      components: {
        child
      },
      computed: {
        // 计算属性的getter 默认的
        reversedMessage: function () {
          return this.message.split('').reverse().join('')
        }
      },
      // 生命周期钩子
      beforeCreate () {
        console.log('父组件 beforeCreate')
      },
      created () {
        console.log('父组件 created')
      },
      beforeMount () {
        console.log('父组件 beforeMount')
      },
      mounted () {
        console.log('父组件 mounted')
      },
      beforeUpdate () {
        console.log('父组件 beforeUpdate')
      },
      updated () {
        console.log('父组件 updated')
      },
      beforeDestroy () {
        console.log('父组件 beforeDestroy')
      },
      destroyed () {
        console.log('父组件 destroyed')
      }
    }
    </script>
    
    <style scoped>
    
    </style>
    -------------------------
    子组件(B.vue)
    <template>
    <div style="border: 1px solid red;">
      <p >This is child component</p>
    </div>
    </template>
    
    <script>
    export default {
      name: 'B',
      data () {
        return {
        }
      },
      // 生命周期钩子
      beforeCreate () {
        console.log('子组件 beforeCreate')
      },
      created () {
        console.log('子组件 created')
      },
      beforeMount () {
        console.log('子组件 beforeMount')
      },
      mounted () {
        console.log('子组件 mounted')
      },
      beforeUpdate () {
        console.log('子组件 beforeUpdate')
      },
      updated () {
        console.log('子组件 updated')
      },
      beforeDestroy () {
        console.log('子组件 beforeDestroy')
      },
      destroyed () {
        console.log('子组件 destroyed')
      }
    }
    </script>
    
    <style scoped>
    
    </style>

    验证效果: 

    总结一: 

    1.父组件挂载前要先进行子组件的创建、挂载!  

    二:各个生命周期分别做了什么事情?

    三:如何触发update类钩子?   缓存?

    四:什么情况会执行destroy类钩子    缓存?

  • 相关阅读:
    我这样来解决CSS的Bug
    JavaScript 获取客户端计算机硬件及系统信息
    asp.net Excel导入&导出
    C#编码好习惯
    解决ASP.NET“类型初始值设定项引发异常”
    使cookie在关闭浏览器后失效
    C# 实现Epson热敏打印机打印 Pos机用
    设计模式的主要设计原则简介
    string .format 生成类似20090409001的序号
    SEO中链接的微处理
  • 原文地址:https://www.cnblogs.com/njqa/p/9946880.html
Copyright © 2020-2023  润新知