美文网首页
Vue定时执行点击事件

Vue定时执行点击事件

作者: 兰觅 | 来源:发表于2020-12-09 11:29 被阅读0次

    效果图

    效果图

    简述

    需求:
    1.点击发送在输入框中的信息追加到上条信息后
    2.定时执行

    setTimeout和setInterval的区别

    • setInterval 循环执行就是设置一个时间间隔,每过一段时间都会执行一次这个方法,直到这个定时器被销毁掉;
      setInterval(“方法名或方法”,“延时”)
    • setTimeout:定时执行setTimeout是设置一个时间,等待时间到达的时候只执行一次,但是执行完以后定时器还在,只是没有运行;
      setTimeout(“方法名或方法”, “延时”);

    使用setTimeout隔一秒后执行点击事件或setInterval每隔五秒执行一次

    <template>
     <div class="test1">
          <h3 align="center">Test1—— 超时自动回复测试</h3>
          <h5 style="border:1px solid #3A8EE6;width: 250px;margin-left: 30px;" v-for="(item, index) in arr" :key="index">
            {{item.title}}
          </h5>
          <el-input style="width: 310px;" v-model="title" type="text"> </el-input>
          <el-button type="primary" @click="info">发送</el-button>
        </div>
    </template>
     export default {
        name: "test",
        data: function() {
          return {
            value: 0,
            arr: [{  title: 'test' }],
            title: '您好,欢迎咨询有问必应的test客服人员,有什么可以帮到您?',
          }
        },
        methods: {
          info() {
            this.value++;
            console.log(this.value);
            console.log(this.title)
            // console.info(this.$refs.title.value)
            this.arr.push({
              title: this.title
            })
          },
        },
        created() {
        },
        mounted() {
          this.timer = setTimeout(this.info, 1000); //定时执行setTimeout是设置一个时间,等待时间到达的时候只执行一次,但是执行完以后定时器还在,只是没有运行
          // this.timer = setInterval(this.info, 5000); //循环执行就是设置一个时间间隔,每过一段时间都会执行一次这个方法,直到这个定时器被销毁掉
        },
        beforeDestroy() {
          clearTimeout(this.timer);
        }
      }
    
    <style lang="less" scoped>
        .test1 {
          text-align: left;
          width: 400px;
          border: 1px solid #000000;
        }
    </style>
    

    相关文章

      网友评论

          本文标题:Vue定时执行点击事件

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