博客
关于我
Vue路由嵌套刷新后页面没有重新渲染
阅读量:376 次
发布时间:2019-03-05

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

路由嵌套中,当地址栏进入子路由页面时,刷新页面可能导致子路由页面无法重新渲染的问题。这通常发生在父路由完成刷新后,子路由页面未能及时更新的情况下。

解决方法

当子路由页面无法重新渲染时,可以通过以下两种方法进行优化:

方法1:条件渲染加重渲染

在子路由容器中,使用条件渲染来控制子路由内容的显示状态。这种方法通过在父路由完成渲染后,重新激活子路由的渲染。

data() {  return {    routerAlive: true  }},mounted() {  this.routerAlive = false;  this.$nextTick(() => {    this.routerAlive = true;  });}

这种方法的原理是通过条件渲染的状态变化,迫使浏览器重新渲染子路由内容。每次刷新父路由后,子路由会被重新激活,从而确保内容的更新。

方法2:添加路由视图键

为子路由视图添加动态键,可以迫使浏览器重新渲染子路由内容。每次刷新时,键值会随机变化,从而让浏览器认为这是一个全新的组件。

这种方法简单易行,每次刷新页面都会生成一个新的键值,从而确保子路由页面能够重新渲染。

选型建议

两种方法各有优劣,需要根据项目需求选择最合适的实现方案:

  • 方法1:在实现上稍显复杂,但在实际应用中表现更为稳定,尤其是在处理大量子路由时。
  • 方法2:实现简单,但需要权衡随机键值生成是否会对性能产生影响。

通过以上两种方法,可以有效解决子路由页面在刷新时无法重新渲染的问题。选择哪种方法取决于具体项目的需求和性能考量。

转载地址:http://ptmg.baihongyu.com/

你可能感兴趣的文章
Python google drive API 下载,文件在哪里?
查看>>
Python GPS 模块:读取最新的 GPS 数据
查看>>
python grpc入门
查看>>
python gRPC测试helloworld
查看>>
python list,str的拼接与转换
查看>>
python matplotlib简单使用
查看>>
python os.system
查看>>
Python os.system执行多条语句,os.system的返回值以及与os.popen的区别
查看>>
Python os和sys模块
查看>>
python os文件/目录
查看>>
Python Package 之 Faker(随机姓名、电话)
查看>>
python pandas TimeStamps到夏令时的本地时间字符串
查看>>
Python Pandas 用顶行替换标题
查看>>
Python Pandas-从DataFrame按类别绘制多个条形图
查看>>
Python PyQt5 将不再显示此消息复选框添加到 QMessageBox
查看>>
Python PyQt5:如何使用 PyQt5 显示错误消息
查看>>
Python pytest 面试题!
查看>>
Python pytz 时区函数返回一个相差 9 分钟的时区
查看>>
python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
查看>>
Python random和json模块
查看>>