zoukankan      html  css  js  c++  java
  • vue的周期函数

    • beforeCreate(创建前)
    • created(创建后)
    • beforeMount(载入前)
    • mounted(载入后)
    • beforeUpdate(更新前)
    • updated(更新后)
    • beforeDestroy(销毁前)
    • destroyed(销毁后)

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Vue实例的生命周期</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
    <div id="app">
    <input type="button" value="修改msg" @click="msg='No'">
    <h3 id="h3">{{ msg }}</h3>
    </div>
    <script>
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
    el: '#app',
    data: {
    msg: 'ok'
    },
    methods: {
    show() {
    console.log('执行了show方法')
    }
    },
    beforeCreate() {
    this.show()
    // 这是第一个生命周期函数,表示实例完全被创建出来之前,会执行它
    // console.log(this.msg)
    // 注意:在beforeCreate生命周期函数执行的时候,data和methods中的数据都还没有没初始化
    },
    created() {
    // 这是第二个生命周期函数
    // console.log(this.msg)
    // this.show()
    // 在 created 中,data 和 methods 都已经被初始化好了!
    // 如果要调用methods中的方法,或者操作 data 中的数据,最早只能在 created 中操作
    },
    beforeMount() {
    // 这是第3个生命周期函数,表示模板已经在内存中编辑完成了,但是尚未把 模板渲染到 页面中
    // console.log(document.getElementById('h3').innerText)
    // 在 beforeMount 执行的时候,页面中的元素,还没有被真正替换过来,只是之前写的一些模板字符串
    },
    mounted() {
    // 这是遇到的第4个生命周期函数,表示,内存中的模板,已经真实的挂载到了页面中,用户已经可以看到渲染好的页面了
    // console.log(document.getElementById('h3').innerText)
    // 注意:mounted是实例创建期间的最后一个生命周期函数,当执行完mounted就表示,实例已经被完全创建好了
    },

    // 接下来的是运行中的两个事件
    beforeUpdate() {
    // 这时候,表示 我们的界面还没有被更新【数据被更新了吗? 数据肯定被更新了】
    /* console.log('界面上元素的内容:' + document.getElementById('h3').innerText)
    console.log('data 中的 msg 数据是:' + this.msg) */
    // 得出结论: 当执行beforeUpdate的时候,页面中的显示的数据,还是旧的,此时data数据是最新的,页面尚未和最新的数据保持同步
    },
    updated() {
    console.log('界面上元素的内容:' + document.getElementById('h3').innerText)
    console.log('data 中的 msg 数据是:' + this.msg)
    // updated 事件执行的时候,页面和 data 数据已经保持同步了,都是最新的
    },
    beforeDestroy() {

    },
    destroyed() {

    }
    });
    </script>
    </body>
    </html>

  • 相关阅读:
    HDU 2236 无题Ⅱ
    Golden Tiger Claw(二分图)
    HDU 5969 最大的位或 (思维,贪心)
    HDU 3686 Traffic Real Time Query System (图论)
    SCOI 2016 萌萌哒
    Spring Boot支持控制台Banner定制
    构建第一个Spring Boot程序
    Spring Boot重要模块
    Java fastjson JSON和String互相转换
    BCompare 4 Windows激活方法【试用期30天重置】
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/9647132.html
Copyright © 2011-2022 走看看