当前位置: 首页 > news >正文

vue-动态组件、keep-alive

vue-动态组件、keep-alive

如果我们想写一个tabbar导航栏,我能想到的两种方式

  • 通过if条件判断的方式实现(不赘述)
  • 动态组件

接下来我们就看看动态组件如何创建,废话不多少直接上代码(代码中有备注)

首先创建一个调用组件的文件:

<template><div class="container"><!-- keep-alive缓存组件  --><!-- include:指定缓存组件名,缓存多个用逗号分隔开 --><!-- exclude:指定不缓存组件名 ,缓存多个用逗号分隔开--><keep-alive  include="First,Last"><!-- 通过切换show值切换组件--><!-- is绑定组件名--><component :is="show"></component></keep-alive><!-- 点击触发方法切换show的值--><button @click="change()">切换</button></div>
</template><script>
//导入组件
import First from './First.vue';
import Last from './Last.vue';export default {components: {First, Last},data() {return {show: 'First'}},methods: {//切换的函数change() {if(this.show == 'First'){this.show = 'Last';}else{this.show = 'First';}}}
}
</script>

接下来是两个组件
组件1:

<template><div><!-- 设置num增加是为了测试组件是否缓存--><!-- 如果没有缓存,数值变化再切换会变回原始的数值 --><h3>First: {{ num }}</h3><button @click="add()">增加</button></div>
</template><script>
export default {data() {return {num: 0}},methods: {add() {this.num += 1;}},//组件会触发的生命周期:activated,deactivatedactivated() {console.log('创建')},deactivated() {console.log('销毁')}
}
</script>

组件2:

<template><div><h3>Last: {{ num }}</h3><button @click="add()">增加</button></div>
</template><script>
export default {data() {return {num: 0}},methods: {add() {this.num += 1;}},activated() {console.log('创建')},deactivated() {console.log('销毁')}
}
</script>
http://www.lryc.cn/news/249102.html

相关文章:

  • 华为OD机试 - 执行任务赚积分(Java JS Python C)
  • 如何用CHAT配置linux的远程连接?
  • Python (十六) 错误和异常
  • Android进阶之路 - TextView文本渐变
  • 【复位与释放(亚稳态)模为60的BCD码计数器_2023.11.22】
  • ABAP: JSON 报文解析——/ui2/cl_json
  • android NDK相关,调用C库,JNI,交叉编译,跨平台
  • 汽车功能安全ISO26262
  • Node.js+Express+Nodemon+Socket.IO构建Web实时通信
  • 广州华锐互动:AR可视化展示昆虫让教学过程更直观生动
  • .NET开源的处理分布式事务的解决方案
  • 如何隐藏选择选项值并用新值替换2个选项?
  • [读论文][跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion
  • 机器学习的复习笔记1
  • 【Spring Boot】如何集成Swagger
  • 优化-查询数据接口太慢
  • c++ 谓词
  • 一篇总结 Linux 系统启动的几个汇编指令
  • python技术栈之单元测试中mock的使用
  • LeetCode(37)矩阵置零【矩阵】【中等】
  • [Python入门系列之十一]在windows上安装OpenCV
  • 论文阅读——SEEM
  • Python入门06布尔值
  • js查询详情接口控制执行时间的命令
  • Linux系统iptables
  • 每日一题 1410. HTML 实体解析器(中等,模拟)
  • Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/5)
  • 对抗产品团队中的认知偏误:给产品经理的专家建议
  • element-ui表格无法横向拖动问题
  • 每天学习一点点之 MySQL TINYINT