在登录页面中,我有一个 Google reCAPTCHA。它按预期工作,但如果我导航到另一个页面,然后通过浏览器的后退按钮返回,或者通过在浏览器中输入 URL,除了所说的 reCAPTCHA 之外,一切正常。为了让它再次工作,我需要重新加载页面。将 Materialise 与 Vue 结合使用时,我得到了相同的结果。返回页面时,组件不会“重置”。
尝试使用 keep-alive
(即使这听起来不对),尝试了各种 Vue 生命周期钩子(Hook)( created
, beforeMount
, mounted
),尝试将代码保留在一个函数中,然后我在生命周期钩子(Hook)中调用该函数。似乎没有任何效果。我搜索了谷歌甚至这里,但也许我使用了错误的搜索词,因为我找不到问题的解决方案。
有人可以阐明这个问题吗?如果需要,我可以尝试提供代码。
最佳答案
当没有提供复制品时,很难给出 100% 肯定的答案,但这可能是可行的:
尝试添加 key
router-view
的参数:
<router-view :key="$route.path" />
甚至在您想要重新渲染的组件上:
<component-with-recaptcha :key="$route.fullPath"></component-with-recaptcha>
关于vue.js - VueJs 不会在浏览器后退按钮上重新加载 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57116475/