bhuh12 / vue-router-tab

Vue.js tab components, based on Vue Router.

Home Page:https://bhuh12.github.io/vue-router-tab/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

热重载失效了啊

wtjperi2003 opened this issue · comments

Bug 描述

针对 bug 清晰简洁的描述。
就是在tab对应的页面里,添加button后,如果出现过度效果,新增加的代码就不载入,偶尔没过度效果反而会热重载,
然后在没有页面的地方,比如管理后台的头部那里,热重载是正常的

问题重现

重现行为的步骤:

直接在页签对应的页面里添加html代码,查看热重载是否正常

预期行为

清楚简洁地描述您期望发生的事情。

截图

如果可以,请添加屏幕截图以帮助解释您的问题。

代码重现

选择一种方式即可

Git 重现地址(推荐)

您可以将可运行并且能复现问题的最简代码提交到 git 仓库(如 Github),然后提供给作者可访问的地址

关键代码

尽可能留下关键代码片段,方便作者定位问题

<template>
  <div>html 代码</div>
</template>
// js 代码

开发环境(请填写以下信息)

  • Node.js: [例如: v12.4.0]
  • Vue: [例如: v2.5.22]
  • Vue Router: [例如: V3.0.1]
  • Vue Router Tab: [例如: v0.2.0]

运行环境(请填写以下信息)

  • 设备: [例如: PC]
  • 操作系统: [例如: Windows 10]
  • 浏览器和版本: [例如: Chrome 75.0.3770.100 x64]

附加内容

在此添加有关此问题的任何其他内容。

Vue Router Tab 版本多少?
问题是否能在 https://github.com/bhuh12/router-tab-sample 上重现?

问题定位到了,dom 结构改变的时候需要重新生成页面实例。

Vue Router Tab 版本多少?
问题是否能在 https://github.com/bhuh12/router-tab-sample 上重现?

最新版的,那能否在下一版修复啊???

方案:在页面activated时候判断组件id变化了,就刷新页面。
方案目前会导致热重载时页面过渡动画执行两次,即使清除一次动画也会带来页面闪烁。
针对动画我这里再看看怎么优化下,到时候会发布新版本。

方案:在页面activated时候判断组件id变化了,就刷新页面。
方案目前会导致热重载时页面过渡动画执行两次,即使清除一次动画也会带来页面闪烁。
针对动画我这里再看看怎么优化下,到时候会发布新版本。

我记得我去年用的时候,没有这个问题,热重载很ok,前几天新项目,从老项目那里copy代码过来,反而出现无法热重载的问题,很奇怪,vue和vue-router和去年一样,vue-router-tab旧版和新版都有问题,看截图,我两个vue项目,一个旧版一个新版
1
2

旧的版本是参考 keep-alive 自己实现缓存控制的,在 render 函数里有针对热重载重新渲染组件。
1.0.0正式版本 RouterAlive 组件使用 keep-alive + router-view 重构了,看到简单修改文本之类的能更新,没注意到 dom 改变后热重载不起作用了。

已发布 v1.2.4 版本修复热重载的问题

遗留问题:未激活的页签热重载后再激活会执行两次过渡动画

已发布 v1.2.4 版本修复热重载的问题

遗留问题:未激活的页签热重载后再激活会执行两次过渡动画

👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍