第八十八篇:Vue keep-alive的使用 让组件"活下去""

好家伙,

 

1.关于keep-alive

这是一个用于阻止组件自行销毁的插件

<!-- keep-alive可以把内部组件进行缓存,而不是销毁组件 -->

那么我们什么时候会用到他呢?

 

举个栗子

 

他来了,他来了,经典自增1按钮(太TM经典了)

上代码:

Left.vue组件中:

复制代码
<template>
<div>
<h1>我是主页</h1>
  <h1>我的count值为:{{count}}</h1>
  <button @click="count+=1">+1</button>
  </div>
</template>

<script>
export default {
    data(){
        return{
            count:0
        }
    }
}
</script>
复制代码

 

来看看效果:

 

 但是我们会发现一个问题

 

就是我在使用主页时,把count加到了5,

转去"我的"组件

当我在回到"首页"组件

count的值变回0,

大概可以看出组件被重新加载了,

这是怎么回事?

当我点击"我的"组件

"首页"的这个组件被销毁了,

当我再次点回"首页"时,

组件被重新加载了

 

如果我们希望组件不被销毁,

那么我们可以使用<keep-alive>

 

代码如下:

在App,vue组件中:

复制代码
<template>
  <div>
    <button @click="comName='Left'">首页</button>
    <button @click="comName='Right'">我的</button>
    <!-- keep-alive可以把内部组件进行缓存,而不是销毁组件 -->
    <keep-alive>
   <component :is="comName"></component>
   </keep-alive>
  </div>
</template>

<script>
//1.导入需要的组件
import Left from './components/Left.vue'
import Right from './components/Right.vue'

export default {
  data(){
    return{
      comName:'Left'
    }
  },
     components:{
        Left,
        Right 
       //简写为 Left
     }
}
</script>
复制代码

 

搞定了

 

 

组件活下来了

 

posted @   养肥胖虎  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示