You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Livewire中@script指令引发函数未定义的修复方案

解决办法

1. 将函数挂载到全局window对象

Livewire的@script指令会把代码封装在局部作用域内,导致全局上下文无法访问该函数。把函数绑定到window对象上,就能让按钮的onclick正常调用:

@script
    window.adaugaSelect = function() {
        // 你的函数逻辑代码
    }
@endscript

2. 改用Livewire原生的wire:click指令

这更贴合Livewire的组件交互设计,把逻辑移到Livewire组件类中实现:

  • 修改按钮代码:
<button type="button" title="Adauga o disciplina noua" class="ml-2 my-auto bg-blue-500 text-white px-2 py-1 rounded-lg" wire:click="adaugaSelect">+</button>
  • 在对应的Livewire组件类中添加方法:
public function adaugaSelect()
{
    // 这里写原来的函数逻辑
}

3. 替换@script为普通<script>标签

如果不想调整函数作用域,直接用普通脚本标签替代@script,注意把脚本放在按钮之后(比如组件Blade文件的末尾):

<script>
    function adaugaSelect() {
        // 你的函数逻辑代码
    }
</script>

内容的提问来源于stack exchange,提问作者Andrei Popa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:39:51