zoukankan      html  css  js  c++  java
  • 6、vue-生命周期

    vue生命周期
    先使用new Vue构造函数生成vue实例
    创建完vue实例之后就需要初始化数据--data方法进行初始化得
    初始化事件
    创建:
    beforeCreate--在创建之前调用得钩子函数
    created:数据已经在data方法中初始化了,计算属性,事件回调都已经完成,只不过dom并未挂载
    挂载之前回进行得操作
    会找是否有需要挂载得el对象,有的话判断是否有template模板,有得话那么将模板转化为render函数,通过render函数去渲染DOM树
    如果都没有得话,直接把最外层得el对象作为html得模板
    挂载:
    beforeMount:render方法首次被调用生成虚拟DOM得时候执行得
    把虚拟DOM生成真实DOM
    mounted:挂载已经完成了,dom树已经完成渲染到页面中得,所以在这时我们可以对真实dom进行操作了
    更新期:
    数据有更新,会执行得是更新期,在之前会调用得钩子函数:beforeUpdate
    对虚拟DOM重新渲染,以最小得开支来重新渲染DOM,渲染完成之后会生成真实DOM
    updated:组件更新完成之后调用得钩子函数
    销毁:
    beforeDestroy:在实例销毁之前会调用得钩子函数,在销毁之前还是可以访问实例得数据得
    清除计算属性、清除子组件、清除事件监听等内容
    destroyed:组件销毁之后会调用得钩子函数

    注意:更新期被执行是当数据发生变化得时候才会执行,如果单纯得只是改变DOM中css样式得话,那么更新其不会执行

    <template>
      <div id='app'>
         <h1>{{mas}} <button @click="clickA">点下</button></h1>
      </div>
    </template>
    
    <script>
    
    export default {
      name: 'App',
      data () {
        return {
          mas: '我是父组件zhi',
        }
      },
      components: {
        'headera': Headera,
      },
      methods: {
          clickA () {
            this.mas=" 我改变了父组件的值"
          }
      },
      beforeCreate () {
        console.log ('创建之前')
      },
      created () {
         console.log ('创建之后')
      },
      beforeMount (){
        console.log ('挂载之前')
      },
        mounted () {
        console.log ('挂载之后')
      },
      beforeUpdate () {
             console.log ('更新之前')
      },
      updated () {
        console.log ('更新之后')
      },
    
      beforeDestroy () {
        console.log ('销毁之前')
      },
      destroyed () {
        console.log ('销毁之后')
      }
    }
    
    </script>

    生命周期得应用场景
    loading效果:一般都是放在beforeCreate,并且在created中进行移除
    前后台交互ajax等内容:一般会放在created中,可以在这时完成数据得初始化(单纯得获取数据)
    获取数据得同时对dom进行操作:mounted,dom已经有了,同时也可以发送ajax请求
    对更新得数据统一处理:updated中,更新之后调用得函数,数据已经发生变化了,所以可以对这些数据进行统一得管理

  • 相关阅读:
    Vue 面试题汇总
    SSIS 通过OData源连接Dynamic 365 Online
    SQL Server AlwaysOn
    SQL Server AlwaysOn
    SQL Server AlwaysOn
    SQL Server AlwaysOn
    OGG同步ORACLE至SQLSERVER(转)
    Power BI Online管理数据源
    SSRS 动态设置分组依据及行组个数
    查看Reporting Services服务器中用户查询报表历史记录
  • 原文地址:https://www.cnblogs.com/taozhibin/p/13094247.html
Copyright © 2011-2022 走看看