VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • 第八十八篇: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>
复制代码

 

搞定了

 

 

组件活下来了



出处:https://www.cnblogs.com/FatTiger4399/p/16315976.html


相关教程