@click showing ReferenceError: function is not defined with AlpineJS + Livewire + Laravel

@click showing ReferenceError: function is not defined with AlpineJS + Livewire + Laravel

我完全迷失在这里。我之前使用 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>

点击 click me 并触发函数后,我收到错误 ReferenceError: whatever is not defined.

如果我做类似 @click="alert('hey')"

的事情就好了

我错过了什么?

问题与包含 <script src="{{ asset('js/app.js') }}" defer></script>

有关

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

删除该行后,一切正常。

需要 defer 属性来加载 alpine 脚本:

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