博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue 路由切换时页面内容没有重新加载
阅读量:7079 次
发布时间:2019-06-28

本文共 636 字,大约阅读时间需要 2 分钟。

  hot3.png

第二次进入页面,页面路由参数已经改变,但是页面内容不会刷新。

问题原因:在组件mounted钩子中调用的刷新页面内容,但测试发现这个钩子没有被调用。后来发现App.vue中使用了<keep-alive>:

<template>

  <div id="app">
    <keep-alive>
      <router-view></router-view>
    </keep-alive>
  </div>
</template>
keep-alive是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。这就是问题所在了。

解决办法:

使用Vue组件切换过程钩子activated(keep-alive组件激活时调用),而不是挂载钩子mounted:

<script>

export default {
  // ...
  activated: function() {
    this.getCase()
  }
}
</script>
关于keep-alive组件的钩子:https://cn.vuejs.org/v2/api/#activated

--------------------- 
作者:木马啊 
来源:CSDN 
原文:https://blog.csdn.net/u010419337/article/details/79443360 
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://my.oschina.net/hrw/blog/2962114

你可能感兴趣的文章
Elasticsearch
查看>>
【ASM内部原理】_asm_kill_unresponsive_clients & _asm_healthcheck_timeout
查看>>
基于业务单元的开发与部署模式
查看>>
WCF 无法激活服务,因为它不支持 ASP.NET 兼容性
查看>>
爱阅读,经典编程图书分享
查看>>
oracle checkpoint
查看>>
流程图与代码的重构
查看>>
Shell 编程基础(三)
查看>>
phpRedisAdmin安装与配置
查看>>
我的友情链接
查看>>
OpenStack服务组件
查看>>
java中substring的用法
查看>>
Mysql DBA 高级运维学习之路-Mysql常见多实例配置方案及多实例安装
查看>>
800号业务和400号业务
查看>>
dns配置
查看>>
我的友情链接
查看>>
sed的基本用法
查看>>
Session机制的本质
查看>>
华为RH2288H V3服务器raid配置与系统安装
查看>>
VMware Horizon View 5.x系列之使用Linked Clone配置Automated Pools
查看>>