vue3 const get_gid = async (val) => { gid.value = val; await getHaed(gid.value); setInterval(() => { aaaa(); }, 1000); }; 在路由跳转时怎么清除这个setInterval
可以在路由跳转前,使用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函数外部定义,以便在路由跳转时可以访问到。
原文地址: http://www.cveoy.top/t/topic/f16 著作权归作者所有。请勿转载和采集!