美文网首页
vuejs生命周期案例

vuejs生命周期案例

作者: 回不去的那些时光 | 来源:发表于2019-10-11 23:08 被阅读0次

    父组件

    <template>
      <div>
        <button @click="showClose = !showClose">{{ showClose ? '加载时钟' : '销毁时钟' }}</button>
        <Clock v-if="!showClose"></Clock>
      </div>
    </template>
    
    <script>
    import Clock from "@/components/Clock.vue";
    
    export default {
      data() {
        return {
          showClose: false
        };
      },
      components: {
        Clock
      }
    };
    </script>
    

    子组件

    <template>
      <div>
        {{ log("render") }}
        {{ now }}
        <button @click="start = !start">{{ start ? "停止" : "开始" }}</button>
      </div>
    </template>
    
    <script>
    import moment from "moment";
    
    export default {
      data: function() {
        console.log("data");
        // this.moment = moment;
        this.log = window.console.log;
        return {
          now: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"),
          start: false
        };
      },
      watch: {
        start() {
          this.startClock();
        }
      },
      beforeCreate() {
        console.log("beforeCreate");
      },
      created() {
        console.log("created");
      },
      beforeMount() {
        console.log("beforeMount");
      },
      mounted() {
        console.log("mounted");
        this.startClock();
      },
      beforeUpdate() {
        console.log("beforeUpdate");
      },
      updated() {
        console.log("updated");
      },
      beforeDestroy() {
        console.log("beforeDestroy");
        clearInterval(this.clockInterval);
      },
      destroyed() {
        console.log("destroyed");
      },
      methods: {
        startClock() {
          clearInterval(this.clockInterval);
          if (this.start) {
            this.clockInterval = setInterval(() => {
              this.now = moment(new Date()).format("YYYY-MM-DD HH:mm:ss");
            }, 1000);
          }
        }
      }
    };
    </script>
    

    相关文章

      网友评论

          本文标题:vuejs生命周期案例

          本文链接:https://www.haomeiwen.com/subject/tmkfmctx.html