首页 > 其他分享 >关于vue中的动态组件component和keep-alive

关于vue中的动态组件component和keep-alive

时间:2023-11-30 11:12:48浏览次数:34  
标签:缓存 标签 component alive keep vue 组件 属性

component标签是vue内置的,作用:组件的占位符

<component is="组件名称"></component>

其中is属性的值表示要渲染的组件的名字,也就是components节点下的组件名称

当我们动态切换组件名称时,每切换一次,组件就会被销毁一次,若不想让组件被销毁,则需要用到标签keep-alive

<keep-alive>
     <component is="组件名称"></component>
</keep-alive>

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

使用keep-alive标签后会生成两个新的生命周期:activated(组件被激活)、deactivated(组件被缓存)

注意:使用keep-alive标签后,组件第一次被显示时,既会执行created()也会执行activated();当组件第二次显示时,只会执行activated()

  • keep-alive的include属性
<keep-alive include="组件名称,多个组件之间用英文的逗号分隔">
     <component is="组件名称"></component>
</keep-alive>

  include表示:指定需要被缓存的组件,多个组件之间用英文的逗号分隔

  • keep-alive的exclude属性
<keep-alive exclude="组件名称,多个组件之间用英文的逗号分隔">
     <component is="组件名称"></component>
</keep-alive>

  exclude表示:指定不需要被缓存的组件,多个组件之间用英文的逗号分隔

注意:include属性和exclude属性只能用一个,不能同时使用

标签:缓存,标签,component,alive,keep,vue,组件,属性
From: https://www.cnblogs.com/fruitesBlogs/p/17866853.html

相关文章

  • 在web-view加载的本地及远程HTML中调用uni的API及网页和vue页面通讯
    转载于在web-view加载的本地及远程HTML中调用uni的API及网页和vue页面通讯-DCloud问答uni-app的web-view组件,支持加载远程网页,在app环境下,还支持加载本地HTML页面。在web-view加载页面中,会涉及wx、plus、uni等对象的使用。在小程序下使用wx的api,需要引入微信提供的https......
  • Vue 嵌套选项卡 购物车
    嵌套选项卡  <!DOCTYPEhtml> <html> <head> <metacharset="utf-8"/> <metaname="viewport"content="width=device-width,initial-scale=1"> <scriptsrc="js/vue.js"></scrip......
  • url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
    引子浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章javascript浏览器参数的操作,js获取浏览器参数 ,今天主要讲讲escape(),encodeURI(),enco......
  • vue-treeselect使用案例
    https://vue-treeselect.js.org/父子节点没有关联<TreeSelectflatstyle="background-color:#0e3977"placeholder="请选择"v-model="org":multiple="true":options="state.orgData&qu......
  • Vite4+Typescript+Vue3+Pinia 从零搭建(5) - 路由router
    项目代码同步至码云weiz-vue3-templateVueRouter是Vue.js的官方路由。它与Vue.js核心深度集成,让用Vue.js构建单页应用变得轻而易举。1.安装npmivue-router@42.集成1.新建两页面进行示例在src/view下新建home.vue和login.vue,内容如下:<scriptsetuplang="t......
  • [Vue] vue学习笔记(3): 渲染
    条件渲染主要有四个指令v-show:控制元素可视性,即是否增加样式display=nonev-if/v-else-if/v-else:类似if/else-if/else的逻辑结构,进行条件判断,控制元素的可视性,注意这种方法会直接决定元素是否出现DOM树上,而非样式改变<!---nisapropertyofvueinstance---><divv-if......
  • vue.js(二)补充
    示例表单:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><scriptsrc="./js/vue.js"></script><title>Title</title></head><body><divclass......
  • 如何在一个html页面中引入vue跟axios
    如果想在HTML页面中引入Vue和Axios,可以按照以下步骤进行操作1、首页新建一个html页面2、打开vue官网进行引入或者下载vue.min.js包进行本地引入3、下载axios包,如下图所示4、在js部分中写的如下图所示5、axios使用......
  • [Vue] vue学习笔记(3): 绑定样式
    动态绑定样式vue允许动态设置class的值,通过利用v-bind指令......
  • Vuex
    Vuex用于状态管理状态管理模式:状态:驱动应用的数据源。state视图:以声明方式将状态映射到视图。操作:响应在仕途上的用户输入导致的状态变化。Vuex的状态存储是响应式的。不能直接改变store中的状态。从store实例中读取状态最简单的方法就是在计算属性中......