【问题标题】:VueJs won't reload Javascript on browser back buttonVueJs 不会在浏览器后退按钮上重新加载 Javascript
【发布时间】:2019-07-19 16:33:49
【问题描述】:

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

尝试使用keep-alive(即使这听起来不对),尝试了各种 Vue 生命周期钩子(createdbeforeMountmounted),尝试将代码保留在一个函数中,然后我在生命周期钩子。似乎没有任何效果。我搜索了谷歌甚至这里,但也许我使用了错误的搜索词,因为我找不到问题的解决方案。

有人能解释一下这个问题吗?如果需要,我可以尝试提供代码。

【问题讨论】:

  • 非常有趣的案例,你有一个简单的例子(不是你所有的代码),而是一段极简的代码,用你正在使用的相同库重现相同的东西?

标签: vue.js vue-router


【解决方案1】:

当没有提供复制品时,很难给出 100% 肯定的答案,但这是可行的:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2017-06-29
    • 2015-09-07
    • 2023-03-08
    相关资源
    最近更新 更多