vue如何让页面只刷新一次?

每次登陆跳到首页后,部分js失效。为了解决这个问题,我在一进入首页的时候刷新一次 代码如下:

//home.vue
mounted:function(){
    location.reload()
}

可现在页面是一直刷新无线循环的,如果改为只刷新一次?

阅读 17.1k
3 个回答
  1. 无线刷新是因为组件渲染完成后必然会进入mounted钩子,然后执行你的reload,而后又进入钩子,导致死循环。
  2. 页面刷新后页面中的状态都会丢失。所以你无法使用代码中的状态判断之前是否刷新过。
  3. 如果需要只刷新一次,可以在本地存储中保存一个状态来判断。但是我不建议你这样做。
  4. 就像楼上所说,你的问题是解决js失效,而不是曲线救国去研究刷新页面。

你这个问题本身就有问题。你应该检查为什么跳到首页后部分 js 会失效,而不是直接刷新。

无限循环则是因为 mounted 这个钩子函数当组件 home.vue 被添加到 DOM 上时就会执行,你的首页肯定用到了这个组件,于是就无限循环。

还是第一句话,先找真正的原因,解决它,不要动不动就想绕过。

判断上一个页面是不是登录页,是就刷新,不是就不刷新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题