keep-alive 遇见 vue-router
·keep-alive 是Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染
·routre-view也是一个组件,如果直接被包在keep-alive里面,所以的路径匹配到的视图组件都会
被缓存 keep-alive 与 导航守卫实现嵌套路由的状态缓存:
code..

先去掉home嵌套路由的重定向:

给router-view套上keep-alive

至此,一级路由的状态缓存完毕。

但是当我们访问二级路由 比如:/home/mes,然后切换出去了

再切换一级/home时,还是/home并不会访问/home/mes,我们需要在Home组件里定义相关的声明周期函数,实现嵌套路由的缓存

<script>

export default {
name: 'Home',
data(){
return {
// 记录当组件活跃时,跳转的路由
path: '/home/news'
}
},
props: { },
beforeDestroy(){
console.log('home dis')
},
// 活跃状态(组件被保持了状态使用了keep-alive时,切换出去切换回来调用的是
activated,deactivated,而非created,destroyed
  // 如果组件没有
使用keep-alive,就没有activated,deactivated生命周期函数
  // 小程序默认使用的了keep-alive
  activated() {
console.log(this.path)
this.$router.push(this.path)
},
// 导航守卫(当路由离开之前
beforeRouteLeave (to, from, next) {
console.log(this.$route.path)
this.path = this.$route.path;
next()
}
}
</script>

vue keep-alive 遇见 vue-router的更多相关文章

  1. vue 组件开发、vue自动化工具、axios使用与router的使用(3)

    一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...

  2. Vue技术点整理-Vue Router

    路由 Vue Router 对于单页面应用来说,如果涉及到多个页面的话,就必须要使用到路由,一般使用官方支持的 vue-router 库 一,Vue Router 在项目中的安装引用 1,在页面中使用 ...

  3. Vue回炉重造之router路由(更新中)

    安装vue-router npm i vue-router -S 配置1.创建文件夹与文件 创建一个router文件夹,在文件夹中创建两个文件,分别是router.js和routes.js文件.2.编 ...

  4. vue(5)—— vue的路由插件—vue-router 常用属性方法

    前端路由 看到这里可能有朋友有疑惑了,前端也有路由吗?这些难道不应该是在后端部分操作的吗?确实是这样,但是现在前后端分离后,加上现在的前端框架的实用性,为的就是均衡前后端的工作量,所以在前端也有了路由 ...

  5. VUE系列一:VUE入门:搭建脚手架CLI(新建自己的一个VUE项目)

    一.VUE脚手架介绍 官方说明:Vue 提供了一个官方的 CLI,为单页面应用快速搭建 (SPA) 繁杂的脚手架.它为现代前端工作流提供了 batteries-included 的构建设置.只需要几分 ...

  6. GitHub Vue项目推荐|Vue+Element实现的电商后台管理系统功能丰富

    GitHub Vue项目推荐|mall-admin-web是一个电商后台管理系统的前端项目基于Vue+Element实现 主要包括商品管理.订单管理.会员管理.促销管理.运营管理.内容管理.统计报表. ...

  7. 前端单元测试,以及给现有的vue项目添加jest + Vue Test Utils的配置

    文章原址:https://www.cnblogs.com/yalong/p/11714393.html 背景介绍: 以前写的公共组件,后来需要添加一些功能,添加了好几次,每次修改我都要测试好几遍保证以 ...

  8. vue卸载与安装+vue创建项目

    vue卸载 npm uninstall -g vue-cli npm install -g @vue/cli 和 npm install -g @vue/cli-init 命令安装新版本vue-cli ...

  9. vue 快速入门 系列 —— vue loader 扩展

    其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue ...

  10. 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)

    github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...

随机推荐

  1. VSTO开发指南(VB2013版) 第二章 Office解决方案介绍

    实例2.1 通过控制台实现对Excel的自动化处理 书本第32页 注:添加两个引用: 第一个:程序集—框架—“System.Windows.Forms 4.0.0.0”第二个:程序集—扩展—“Micr ...

  2. 基于BTrace监控调试Java代码

    BTrace是Java的一个动态代码追踪工具,通过编写btrace脚本,它可以动态的向目标应用程序的字节码注入追踪代码,通过修改字节码的方式,达到监控调试和定位问题的目的,是解决线上问题的利器. BT ...

  3. vue 使用v-for进行循环

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. MySQL必知必会--分 组 数 据

    数据分组 目前为止的所有计算都是在表的所有数据或匹配特定的 WHERE 子句的 数据上进行的.提示一下,下面的例子返回供应商 1003 提供的产品数目 但如果要返回每个供应商提供的产品数目怎么办?或者 ...

  5. Linux内核的LED设备驱动框架【转】

    /************************************************************************************ *本文为个人学习记录,如有错 ...

  6. (好题)POJ3057

    二分+二分图匹配+BFS 题意: 墙壁“X”,空区域(都是人)“.”, 门“D”. 人向门移动通过时视为逃脱,门每秒能出去一个人,人可以上下左右移动,墙阻止移动. 求最优移动方案下,最后一个人逃脱的最 ...

  7. mysql 不能加载表问题

    记录一次 mysql 5.7 下,出现重启数据库后不能加载特定表的问题处理. 搜索了很多的类似的错误,大多都是说因为外键同名的索引丢失的情况.但在5.7这个版本下,会禁止更新外键关联的索引. 最后经过 ...

  8. Kubernetes CI/CD(1)

    本文通过在kubernetes上启动Jenkins服务,并将宿主机上的docker.docker.sock挂载到Jenkins容器中,实现在Jenkins容器中直接打镜像的形式实现CI功能. Kube ...

  9. 个性化和云端孤岛困扰SaaS用户,低代码PaaS或成解决之道 ZT

    近日,中国软件行业协会.中国软件网联合阿里云推出了<2020中国SaaS产业十大趋势>,其中明确指出企业软件SaaS化是大势所趋,但个性化和云端孤岛成为2020年SaaS用户关注的两大问题 ...

  10. linux 磁盘管理2-硬盘分区

    不重启添加硬盘. echo '- - -' > /sys/class/scsi_host/host2/scan       #centos7有效 列出块设备 lsblk 显示块设备列表      ...