Laravel/Livewire如何向函数传递多个参数?
解决Laravel Livewire传递多个参数到函数的问题
你当前的按钮写法存在语法错误,Blade的{{ }}标签里不能直接用逗号分隔两个变量,会导致生成的JS代码格式混乱。只需调整参数传递的写法,就能实现需求:
正确的按钮写法
方式一:手动为字符串参数添加引号
<button wire:click="addData({{ $name->id }}, '{{ $name->Course_Name }}')">Add data</button>
如果Course_Name是字符串类型,用单引号包裹{{ $name->Course_Name }},确保JS能识别为合法的字符串参数。
方式二:使用Livewire的@js指令(推荐)
<button wire:click="addData({{ $name->id }}, @js($name->Course_Name))">Add data</button>
@js指令会自动把PHP变量转换为合法的JS表达式,自动处理字符串转义、特殊字符等问题,比手动加引号更安全规范。
后端函数写法保持不变
你定义的addData函数写法完全正确,直接接收两个参数即可:
public function addData($id, $Course_Name) { // 在这里编写业务逻辑 }
调整后点击按钮,$name->id和$name->Course_Name就能正确传递到后端的addData函数中。
内容的提问来源于stack exchange,提问作者Jdubstep2345
相关产品推荐
相关产品推荐

