zoukankan      html  css  js  c++  java
  • Vue生命周期详解

    <!-- vue 实例从被创建,运行,到销毁期间,会执行各种各样的事件函数,这些事件统称为生命周期 -->
    <body>
        <div id="app">
        </div>
    </body>
    <script>
        let vm = new Vue({ 
            el:'#app',
            data:{
                vmsg:'vue text'
            },
            beforeCreate() {//在发起/new 一个 vue实例时 ,会执行一个生命周期函数 beforeCreate(),表示vue实例被完全创建出来之前,会执行这个生命周期函数
                //这个函数里面获取不到data,和methods里面的任何数据,因为此时,vue 实例里的data数据,methods里面的函数都还没被初始化,
            },
            created () {
                //表示 vue实例数据初始化完毕,此时可以调用vue实例里的数据和方法
            },
            beforeMount(){
                //这是遇到的第三个生命周期函数,表示 模板已经在内存中编辑完成了,但是尚未把模板渲染到 页面中,在 beforeMount 执行的时候,页面中的元素,还没有被真正替换过来,只是之前写的一些模板字符串,获取元素的innerHTML时,如果是插值表达式,那么得到的就是插值表达式解析之前的模板字符{{ var_name }},最终结果并没有渲染到页面
            },
            mounted () {
                // 将=编译好的最终的html渲染到html页面中去  到此函数位置,前面的都是创建过程中的钩子【生命周期】函数,直行到这标志着vue实例的创建阶段结束!
            },

            beforeUpdated(){
                //数据被更新时触发,但是页面界面的数据还未改变,只是浏览器内存中的数据改变了,获得页面Dom节点的innerHTML,得到的时改变之前的数据
            },    // 两个运行时的两个钩子函数 
            Updated () {
                //同步浏览器内存中数据到页面界面中去【通过浏览器 在内存中虚拟出一份跟页面同样的虚拟dom树并更新数据,再将内存的虚拟dom树同步更新到页面】
            },

            beforeDestroy(){//执行了就表示vue进入销毁阶段
                //此时vue实例还未被真的销毁,vue上所有的数据都处于可用状态
            },//vue  实例被销毁时执行的钩子函数【//例如页面关闭时执行xxx】
            destoryed(){
                //真正销毁vue实例,所有数据都不可用
            }
        })
    </script>
     

      其中,同一个vue实例,创建和销毁只会执行一次,运行中的updated和beforeUpdated 执行0次【数据没有更新过】和多次【数据更新几次就执行几次】

  • 相关阅读:
    【Life】 今天的思考
    【openpyxl】 关于 单元格背景色 的疑惑
    【xlwings】 wps 和 office 的excel creat_sheet区别
    [git] git error: unable to unlink old
    【python tkinter】对于窗口存在的认识
    【求教 探讨】python tkinter的messagebox
    [python]近日 用3种库 实现简单的窗口 的回顾~
    AE(After Effects)的简单使用——记一次模板套用的过程
    python3爬虫应用--爬取网易云音乐(两种办法)
    【KataDaily 191015】Sort the Gift Code
  • 原文地址:https://www.cnblogs.com/Hijacku/p/14731734.html
Copyright © 2011-2022 走看看