zoukankan      html  css  js  c++  java
  • 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类钩子    缓存?

  • 相关阅读:
    CRM更新行数量汇总的一些注意点
    [转]IT人从业方向
    地球撞击
    如何将Dynamic CRM Activities添加到VS工具箱
    linux本地 yum环境建立
    【转】根据条件修改GridView命令按钮显示的文字
    【转】Asp.net 2.0三层架构的构建与理解
    GridView的常用用法总结说明
    IE中的奇怪问题
    解决打不开 RSA 密钥容器 即:加密web.config中的内容
  • 原文地址:https://www.cnblogs.com/njqa/p/9946880.html
Copyright © 2011-2022 走看看