热重载失效了啊
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变化了,就刷新页面。
方案目前会导致热重载时页面过渡动画执行两次,即使清除一次动画也会带来页面闪烁。
针对动画我这里再看看怎么优化下,到时候会发布新版本。
旧的版本是参考 keep-alive 自己实现缓存控制的,在 render 函数里有针对热重载重新渲染组件。
1.0.0
正式版本 RouterAlive 组件使用 keep-alive + router-view 重构了,看到简单修改文本之类的能更新,没注意到 dom 改变后热重载不起作用了。
已发布 v1.2.4
版本修复热重载的问题
遗留问题:未激活的页签热重载后再激活会执行两次过渡动画
已发布
v1.2.4
版本修复热重载的问题遗留问题:未激活的页签热重载后再激活会执行两次过渡动画
👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍