博客
关于我
Vue路由嵌套刷新后页面没有重新渲染
阅读量:375 次
发布时间: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/

你可能感兴趣的文章
npm的安装和更新---npm工作笔记002
查看>>
npm的常用配置项---npm工作笔记004
查看>>
npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
查看>>
npm编译报错You may need an additional loader to handle the result of these loaders
查看>>
npm设置淘宝镜像、升级等
查看>>
npm设置源地址,npm官方地址
查看>>
npm配置安装最新淘宝镜像,旧镜像会errror
查看>>
NPM酷库052:sax,按流解析XML
查看>>
npm错误 gyp错误 vs版本不对 msvs_version不兼容
查看>>
npm错误Error: Cannot find module ‘postcss-loader‘
查看>>
npm,yarn,cnpm 的区别
查看>>
NPOI之Excel——合并单元格、设置样式、输入公式
查看>>
NPOI初级教程
查看>>
NPOI利用多任务模式分批写入多个Excel
查看>>
NPOI在Excel中插入图片
查看>>
NPOI将某个程序段耗时插入Excel
查看>>
NPOI格式设置
查看>>
NPOI设置单元格格式
查看>>
Npp删除选中行的Macro录制方式
查看>>
NR,NF,FNR
查看>>