【问题标题】:SPA on Livewire not loading js elements after 2nd page Render [closed]Livewire 上的 SPA 在第二页渲染后未加载 js 元素 [关闭]
【发布时间】:2020-11-05 11:04:52
【问题描述】:

我的基于 livewire 的 SPA 在第二页渲染后没有加载 javascript 事件: 比如两种情况:

  1. 仪表板中的第一页刷新会加载图表插件。在我渲染其他页面并返回仪表板后,图表不再加载。

  2. 我刷新页面,侧边栏中的菜单已折叠。在我渲染一些其他页面后,它们没有显示为折叠状态。

我在 Laravel 8 上使用 Turbolinks 和 Livewire。

提前谢谢你。

【问题讨论】:

    标签: php laravel turbolinks laravel-livewire livewires


    【解决方案1】:

    我遇到了类似的问题,对我来说它不起作用,因为我将 JS 代码放入 window.onload 函数,但是当我删除该函数时,内部代码执行了两次,所以我将内部代码放入一个单独的文件并导入它并且它可以工作。 尝试将图表初始化放在单独的文件中。

    否则看看@这个: https://github.com/livewire/livewire/issues/1022

    【讨论】:

    • 非常感谢。对我有用的是:我把 document.addEventListener('turbolinks:load', function() { 而不是 document.addEventListener('DOMContentLoaded', function() { 希望它对未来的人有所帮助。
    【解决方案2】:
    ...
        @livewireScripts
        <script src="https://cdn.jsdelivr.net/gh/livewire/turbolinks@v0.1.x/dist/livewire-turbolinks.js" data-turbolinks-eval="false"></script>
    </body>
    

    【讨论】:

      猜你喜欢
      • 2022-07-05
      • 2016-07-12
      • 1970-01-01
      • 2016-10-14
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 2019-10-06
      • 2022-08-19
      相关资源
      最近更新 更多