• 缓存组件
  • 频繁切换,不需要重复渲染
  • Vue 常见性能优化之一

    演示

    先演示不用keep-alive

    子组件1,2,3

    ```vue
``` ## 父页面 ```vue
  1. ![截屏2020-10-17 下午4.04.24.png](https://cdn.nlark.com/yuque/0/2020/png/1670861/1602921871275-f3b60035-958e-4881-90a3-a88fc4ddb378.png#align=left&display=inline&height=388&margin=%5Bobject%20Object%5D&name=%E6%88%AA%E5%B1%8F2020-10-17%20%E4%B8%8B%E5%8D%884.04.24.png&originHeight=388&originWidth=776&size=72824&status=done&style=stroke&width=776)<br />可以发现,组件的不停切换,组件本身也在不停的创建和销毁。如何子组件本身非常大,这样是很消耗资源的。
  2. 我们使用keep-alive<br />修改父页面的这部分
  3. ```vue
  4. <template>
  5. <div>
  6. <button @click="show='A'">A</button>
  7. <button @click="show='B'">B</button>
  8. <button @click="show='C'">C</button>
  9. <keep-alive>
  10. <ka1 v-if="show === 'A'" />
  11. <ka2 v-if="show === 'B'" />
  12. <ka3 v-if="show === 'C'" />
  13. </keep-alive>
  14. </div>
  15. </template>

不管如何切换,都只挂载了一次。
截屏2020-10-17 下午4.08.25.png