博客
关于我
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 run build部署到云服务器中的Nginx(图文配置)
查看>>
npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
查看>>
npm start运行了什么
查看>>
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
查看>>
npm入门,这篇就够了
查看>>
npm切换到淘宝源
查看>>
npm前端包管理工具简介---npm工作笔记001
查看>>
npm和yarn清理缓存命令
查看>>
npm和yarn的使用对比
查看>>
npm学习(十一)之package-lock.json
查看>>
npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
查看>>
npm的常用配置项---npm工作笔记004
查看>>
npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
查看>>
npm配置安装最新淘宝镜像,旧镜像会errror
查看>>
npm错误Error: Cannot find module ‘postcss-loader‘
查看>>
NPOI之Excel——合并单元格、设置样式、输入公式
查看>>
NPOI利用多任务模式分批写入多个Excel
查看>>
NPOI格式设置
查看>>
Npp删除选中行的Macro录制方式
查看>>
NR,NF,FNR
查看>>