问题如标题。
我搜索,大部分资料是 路由 A 中有个定时器,不是在 component 里。我现在的问题是 如何获取到 component 中 timer = setTimeout() 的这个 timer。
只找到 点击这里,是把 timer 写成全局的了,所以方便访问。不知道这样好不好,有其他方法吗?
示例代码:
Vue.component('v-osd', {
template: 'xxx',
data: function() {
var myData = {};
function refresh() {
get(
'get_client_osd_list', {
id: 1,
},
response => {
refreshTimer = setTimeout(function() {
refresh();
}, 500);
}
);
}
refresh();
return myData;
},
});
var routeA = {
template: 'yyy',
data: function() {
return {};
},
beforeRouteLeave(to, from, next) {
// 如何获取到 组件里面的 timer??
clearInterval(refreshTimer);
next();
},
};