zoukankan      html  css  js  c++  java
  • vue二十六:vue基础之vue生命周期

    生命周期函数:
    1. 创建阶段:
      * beforeCreate:Vue已经创建了,但是data和methods都还没有被创建好。
      * created:data和methods已经被创建好了。
      * beforeMount:模板经过编译,还没有挂载到网页中。
      * mounted:模板已经经过编译,并且已经挂载到网页中。创建阶段的事情都做好了,可以真正运行了。

    2. 运行阶段:
      * beforeUpdate:data中的数据已经更新了,但是模板中并没有更新。
      * updated:data中和模板中的数据都已经更新了。

    3. 销毁阶段:
      * beforeDestroy:在销毁之前调用。这个时候,所有的东西都是可以使用的。
      * destroyed:被销毁。绑定到vue上的事件,以及下面的组件等都会被销毁。

    1. 创建阶段:
      * beforeCreate:Vue已经创建了,但是data和methods都还没有被创建好。
      * created:data和methods已经被创建好了。
      * beforeMount:模板经过编译,还没有挂载到网页中。
      * mounted:模板已经经过编译,并且已经挂载到网页中。创建阶段的事情都做好了,可以真正运行了。

    2. 运行阶段:
      * beforeUpdate:data中的数据已经更新了,但是模板中并没有更新。
      * updated:data中和模板中的数据都已经更新了。

    3. 销毁阶段:
      * beforeDestroy:在销毁之前调用。这个时候,所有的东西都是可以使用的。
      * destroyed:被销毁。绑定到vue上的事件,以及下面的组件等都会被销毁。

    点击清除

    <!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'>
    <script src='../vue.js'></script>
    <title>生命周期函数</title>
    </head>
    <body>
    <div id='app'>
    <p id="username">{{username}}</p>
    <input type="text" v-model="username">
    <error-view :message="message" v-if="message"></error-view>
    <button @click="message=''">清除message</button>
    </div>
    <script>
    Vue.component("error-view",{
    props: ['message'],
    data(){
    return {
    hello: "你好"
    }
    },
    template: `
    <p style="color:red">{{message}}</p>
    `,
    beforeDestroy(){
    console.log("=====beforeDestory=====");
    console.log("hello:" + this.hello);
    },
    destroyed(){
    console.log("=====destroyed=====");
    console.log("hello:" + this.hello);
    }
    })
    new Vue({
    el: '#app',
    data: {
    username: "用户名",
    message: "我是错误消息"
    },
    methods: {
    greet(){
    alert("hello world")
    }
    },
    beforeUpdate(){
    console.log("=====beforeUpdate=====");
    console.log("username变量:" + this.username);
    console.log("页面上的username:" + document.getElementById("username").innerText);
    },
    updated(){
    console.log("=====updated=====");
    console.log("username变量:" + this.username);
    console.log("页面上的username:" + document.getElementById("username").innerText);
    },
    beforeCreate(){
    console.log("=====beforeCreate=====");
    console.log("username: " + this.username);
    console.log("greet: " + this.greet);
    },
    created(){
    console.log("=====created=====");
    console.log("username: " + this.username);
    console.log("greet: " + this.greet);
    },
    beforeMount(){
    console.log("=====beforeMount=====");
    console.log(document.getElementById("username").innerText);
    },
    mounted(){
    console.log("=====mounted=====");
    console.log(document.getElementById("username").innerText);
    },
    })
    </script>
    </body>
    </html>
    讨论群:249728408
  • 相关阅读:
    个人作业——软件工程实践总结作业
    个人作业——软件评测
    软件工程实践2019第四次作业
    软件工程实践2019第三次作业
    软件工程实践2019第二次作业
    软件工程实践2019第一次作业
    1
    个人作业——软件工程实践总结
    团队作业第二次—项目选题报告(追光的人)
    结对第二次—文献摘要热词统计及进阶需求
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/12390060.html
Copyright © 2011-2022 走看看