VueJs不会在浏览器后退按钮上重新加载Javascript

时间:2019-07-19 16:33:49

标签: vue.js

在登录页面中,我有一个Google reCAPTCHA。它可以按预期工作,但是如果我导航到另一个页面,然后通过浏览器的后退按钮返回,或者通过在浏览器中键入URL返回,则除了reCAPTCHA之外,其他所有功能都可以正常工作。为了使其再次起作用,我需要重新加载页面。将Materialize与Vue结合使用时,我得到相同的结果。返回页面后,这些组件不会“重置”。

试图使用keep-alive(即使听起来很错误),尝试了各种Vue生命周期挂钩(createdbeforeMountmounted),并尝试将代码保留在然后在生命周期挂钩中调用的函数。似乎没有任何作用。我搜索了Google甚至在这里,但是也许找不到正确的解决方案。

有人可以阐明这个问题吗?如果需要,我可以尝试提供代码。

1 个答案:

答案 0 :(得分:0)

在没有复制品的情况下,很难给出100%肯定的答案,但这可能会起作用:

尝试将key参数添加到router-view

<router-view :key="$route.path" />

甚至在您要重新渲染的组件上:

<component-with-recaptcha :key="$route.fullPath"></component-with-recaptcha>