可以在路由跳转前,使用clearInterval()方法清除setInterval定时器,例如:

const router = createRouter({ history: createWebHistory(), routes: [ { path: '/', name: 'Home', component: Home, beforeLeave: () => { clearInterval(intervalId); } }, { path: '/about', name: 'About', component: About } ] })

let intervalId;

const get_gid = async (val) => { gid.value = val; await getHaed(gid.value); intervalId = setInterval(() => { aaaa(); }, 1000); };

在上面的示例中,我们在路由跳转前使用beforeLeave钩子函数,清除了intervalId变量对应的setInterval定时器。注意,intervalId变量需要在get_gid函数外部定义,以便在路由跳转时可以访问到。

vue3 
const get_gid = async (val) => {
 gid.value = val;
 await getHaed(gid.value);
 setInterval(() => {
 aaaa();
 }, 1000);
};
在路由跳转时怎么清除这个setInterval

原文地址: http://www.cveoy.top/t/topic/f16 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录