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

【vue2第十八章】VueRouter 路由嵌套 与 keep-alive缓存组件(activated,deactivated)

VueRouter 路由嵌套

在使用vue开发中,可能会碰到使用多层级别的路由。比如:
在这里插入图片描述
其中就包含了两个主要页面,首页,详情,但是首页的下面又包含了列表,喜欢,收藏,我的四个子路由。
在这里插入图片描述
此时就需要配置子路由通过使用children

import Vue from 'vue'
import App from './App.vue'
import MyDetail from './views/MyDetail.vue'
import MyFriend from './views/MyFriend.vue'
import MyIndex from './views/MyIndex.vue'
import MyLike from './views/MyLike.vue'import VueRouter from 'vue-router'
Vue.use(VueRouter)Vue.config.productionTip = falseconst router = new VueRouter({routes: [//两个主要页面详情和首页{path: "/MyIndex", component: MyIndex, //添加children值数组,继续写组件和路径children: [{ path: "/friend", component: MyFriend },{ path: "/like", component: MyLike }]},{ path: "/MyDetail", component: MyDetail }]
});
new Vue({render: h => h(App),router
}).$mount('#app')

keep-alive缓存组件

在这里插入图片描述
问题就是在浏览页面的时候,已经将页面下滑了,然后点击到了某一个文章的详情页,最后返回到文章目录时又回到了最顶部,就比如我们刷抖音,我们往下刷,看到一个比较有意思的视频博主,点进去看主页,然后返回回来结果给我返回到了打开抖音的第一个视频。

所以我们在其中可以使用keep-alive标签解决此问题:
在这里插入图片描述
直接使用keep-alive包含需要缓存的组件出口,

其中他有三个属性:

include : 组件名数组,只有匹配的组件会被缓存。

exclude:组件名数组,任何匹配的组件都不会被缓存。

max :最多可以缓存多少组件实例。

使用如下:

<template><div class="h5-wrapper">//include的参数是一个组件名称数组。<keep-alive include="[index]"  max="1"><router-view></router-view></keep-alive></div>
</template><script>
export default {name: "h5-wrapper",
}
</script>

keep-alive的使用会触发两个生命周期函数(了解)

activated 当组件被激活 (使用)的时候触发>进入页面触发

deactivated 当组件不被使用的时候触发>离开页面触发

在被缓存的组件下面就可以使用:

<template><div class="h5-wrapper"><div class="content">内容</div><nav class="tabbar"><a href="#/article">面经</a><a href="#/collect">收藏</a><a href="#/like">喜欢</a><a href="#/user">我的</a></nav></div>
</template><script>
export default {name: "LayoutPage",//进入页面时触发activated(){alert("欢迎来到首页")},//离开页面时触发deactivated(){}
}
</script>
http://www.lryc.cn/news/172669.html

相关文章:

  • 如何确保亚马逊、速卖通等平台测评补单的环境稳定性和安全性?
  • echarts图表 实现高度按照 内容撑起来或者超出部分滚动展示效果
  • 【论文阅读】检索增强发展历程及相关文章总结
  • 【漏洞复现系列】二、weblogic-cve_2020_2883(RCE/反序列化)
  • 算法通关村-----LRU的设计与实现
  • 王江涛十天搞定考研词汇
  • 算法(二)——数组章节和链表章节
  • Android:ListView在Fragment中的使用
  • BIGEMAP在土地规划中的应用
  • 软件测试常见术语和名词解释
  • prometheus+process_exporter进程监控
  • 四川玖璨电子商务有限公司专注抖音电商运营
  • python LeetCode 刷题记录 83
  • Grom 如何解决 SQL 注入问题
  • 腾讯mini项目-【指标监控服务重构】2023-07-19
  • 抖音矩阵系统源代码开发部署--SaaS开源技术开发文档
  • CLIP模型资料学习
  • 【c语言】贪吃蛇
  • 【Node.js】定时任务cron:
  • vue3 引入element-plus
  • 数据通信——传输层TCP(超时时间选择)
  • 【数据库索引优化】
  • WebGL 选中物体
  • 科目二倒车入库
  • PostgreSQL如何支持PL/Python过程语言
  • 【C++】STL之适配器---用deque实现栈和队列
  • PHY6230低成本遥控灯控芯片国产蓝牙BLE5.2 2.4G SoC
  • OceanBase杨传辉传递亚运火炬:国产数据库为“智能亚运”提供稳稳支持
  • 分布式锁实现方法
  • 软件测试缺陷报告详解