1、使用了<keep-alive></keep-alive>
被包含在<keep-alive>中的组件,会多出两个生命周期钩子函数。
-
//被激活时执行=>onActivated()
-
//比如从 A 组件,切换到 B 组件,A 组件消失时执行=>
onDeactivated()
2、这时三级菜单就会多次onMounted,
onDeactivated
解决办法:
在三级里面嵌套
vue里面导入 onActivated
const isTrigger = ref(true);
onActivated(()=>{
if(isTrigger){
ajax请求方法(这时候只加载一次)
}
});
// 如果不执行onDezctivated 跳转别的页面还回执行一次上个页面的ajax请求
onDeactivated(()=>{
isTrigger.value=false;
});