【问题标题】:@click showing ReferenceError: function is not defined with AlpineJS + Livewire + Laravel@click 显示 ReferenceError: 函数未使用 AlpineJS + Livewire + Laravel 定义
【发布时间】:2021-09-30 07:10:27
【问题描述】:

我完全迷失在这里。我之前使用 Livewire + AlpineJS + Laravel 制作了多个应用程序,但由于某种原因,我无法让 @click 功能适用于此应用程序中的功能。

我将代码减少到几乎没有,并且看不到问题。看过我有 @click 工作的其他应用程序。

<div x-data="showAppSettings()">

<div @click="whatever(123)">Click here</div>

<script type="text/javascript">

    window.showAppSettings = () => {
        return {
            showNav: false,

            whatever(id)
            {

            }
        };
    }
</script>

点击点击我并触发该功能时,我收到错误ReferenceError: whatever is not defined.

如果我执行@click="alert('hey')" 之类的操作就可以了

我错过了什么?

【问题讨论】:

    标签: laravel laravel-livewire alpine.js


    【解决方案1】:

    问题与包含&lt;script src="{{ asset('js/app.js') }}" defer&gt;&lt;/script&gt;有关

    那个文件甚至没有被使用。但无论哪种方式,错误都是由app.js 触发的,我意识到这是没有意义的,因为代码是内联的。

    删除该行后,一切都按预期工作。

    【讨论】:

      【解决方案2】:

      需要 defer 属性才能很好地加载 alpine 脚本:

      <script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
      

      【讨论】:

        猜你喜欢
        • 2022-06-11
        • 1970-01-01
        • 1970-01-01
        • 2021-08-28
        • 1970-01-01
        • 2021-01-15
        • 2020-06-21
        • 2018-04-06
        • 1970-01-01
        相关资源
        最近更新 更多