这是 Vue patch DOM 过程中的一个已知问题: https:// github.com/vuejs/vue/is sues/9473
这种状态频繁变化的,建议使用 v-show 代替 v-if。亲测 v-show 指令不会导致 iframe 的刷新。至于为什么 v-if 会刷新呢?主要原因 轶灵 老师已经说了,patch dom 导致的,这过程会存在dom 的移除和 插入 操作,把 iframe 移除了再插入,所以才会出现 reload 的情况。