首页 > 其他分享 >关于vue 使用setInterval定时器关闭失效的问题 原因为事件传播

关于vue 使用setInterval定时器关闭失效的问题 原因为事件传播

时间:2023-06-15 17:00:30浏览次数:34  
标签:触发 定时器 setInterval 点击 vue 关闭 按钮

/**
** data.isPlay为显示那个按钮
** startHandle开始定时器 setInterval
** pauseHandle,stopHandle理解为关闭定时器就好了clearInterval
**/
<view class="btn" @click.stop="startHandle">
    <view class="btn-status btn-play">
        <view class="char" v-if="!data.isPlay">▶</view>
        <view v-else-if="data.isPlay">
            <view class="char">{{ data.count }}</view>
            <view class="btn-wrap">
                <view class="btn-s pause" @click.stop="pauseHandle">
                    <view class="btn-inner">||</view> 
                </view>
                <view class="btn-s stop" @click.stop="stopHandle">
                    <view class="btn-inner">■</view> 
                </view>
            </view>
        </view>
    </view>
</view>

本来代码上的点击事件为@click 然后让我点击触发关闭的按钮时

我觉得是他切换isPlay的状态然后显示了触发开始的按钮同时也点击了进去导致了这个定时器又重新触发了

导致情况看起来像是没有关闭的样子

然后改为@click.stop阻止事件传播可以解决这个问题

如果不是这个原因可以留言告诉我下 共同进步~

标签:触发,定时器,setInterval,点击,vue,关闭,按钮
From: https://www.cnblogs.com/Dluea/p/17483419.html

相关文章

  • Vue 中 组件通信 - 子传父(自定义事件)
    Vue中组件通信-子传父(自定义事件)Vue中组件通信-子传父(自定义事件)子传父步骤:在子组件的data里面定义好要传递的数据在子组件的模版里面正常使用该数据(一般是通过一定的动作,如点击,滑动等,来自定义事件向父组件传递,这里以click为例)在子组件的methods里面定义this.$......
  • Vue简单的分页功能实现一
    Vue简单的分页功能实现一前端的分页功能其实是对数据的分页处理,主要是在js中实现对数据的分页处理,这里分享两种简单的写法,以供参考。两种方法都是用vue来实现的。首先,相关的参数都一样,在vue里的data中定义好,如下所示:varvm=newVue({el:'#app',data:{list......
  • vue简单的分页功能实现二
    vue简单的分页功能实现二第二种使用vue实现分页功能的方法。首先,data数据定义:varvm=newVue({el:'#app',data:{listArray:[{'name':'赵*','age':'21','edu......
  • npm publish 发包报错npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/
    如果出现在发布的时候报这个错,说明你在package.json中登记的name已近被采用了。重名了,所以你得换一个。我们在发布一个包之前,最好拿着这个登记的name去搜一下,如果已近有了,那就要换一个。......
  • vue填坑之解决部分浏览器不支持pushState方法
    前端使用vue-router做单页面路由并开启history模式时,会碰到一个问题:部分低版本的手机浏览器、部分app以及IE9浏览器由于不支持pushState方法,会导致页面加载不出来。解决这个问题的思路是:当浏览器支持pushState方法时,开启history模式,不支持则开启hash模式对链接做判断,当跳转的......
  • 使用vue ui创建vue项目
    vueui是什么?简单来说,vueui是一个可视化图形界面,方便你去创建、更新和管理vue项目,包括下载router,vuex,axios,elementui等插件,配置好一些属性以及依赖关系,方便我们使用,我个人第一次接触它就感觉非常非常非常智能和强大配置步骤  1、安装VueCLI,因为vueui是在VueCLI基础上封......
  • vue3错误归纳
    1,出错原因,找不到文件npminstall--save@/api/baseInfo/department//这个目录没有文件 2.packjson中那么没改,不知道为什么E:\gh-phm\ruoyi-ui\node_modules\normalize-package-data\lib\fixer.js:336thrownewError("Invalidname:"+JSON.stringify......
  • VUE使用Element-ui表达式拼接字符串 el-table-column的prop拼接字符串 拼接table 使
    VUE使用Element-ui表达式拼接字符串el-table-column的prop拼接字符串使用<templateslot-scope="scope">更改td里面值https://blog.csdn.net/WindNolose/article/details/125422409描述VUE中的标签属性,可以在属性前使用:,让属性绑定到data中的动态数据el-table-column标......
  • vue-router实现SPA购物APP基本功能
    概述vue-router是vue中的一个核心插件,用它来实现SPA购物APP基本功能详细vue-router是vue中的一个核心插件。一、安装1.如果安装脚手架,那么可以npminstallvue-router即可安装然后导入并且引用就可以了。importVueRouterfrom'vue-router'Vue.use(VueRouter)......
  • vue图片懒加载vue-lazyload
    1.安装vue-lazyloadnpmivue-lazyload2.在main.js中引入使用import{createApp}from'vue'import'./style.css'importAppfrom'./App.vue'importVueLazyloadfrom'vue-lazyload'//引入importImgFailfrom"@/assets/......