Vue函数多参数传递失效求助:如何正确传入3个参数?
解决Vue点击事件传递多个参数的问题
我发现你当前的问题根源是把三个参数拼成了单个字符串传递给delete函数,导致函数只接收到一个参数,而非三个独立的值。咱们来一步步修正这个写法:
错误原因拆解
你现在的代码最终生成的实际调用是这样的:
delete("1, 2, 3") // 这里只有一个字符串参数,和函数期望的三个参数不匹配
正确的参数传递方式
把每个Blade模板变量作为独立的参数传入Vue函数,不需要将它们包裹在同一个引号内:
<td> <a @click="delete({{ $detail->mainID }}, {{ $detail->typeID }}, {{ $detail->siteID }})">Delete</a> </td>
如果你的ID是字符串类型(比如包含字母或特殊字符),记得给每个参数加上单引号,避免语法错误:
<td> <a @click="delete('{{ $detail->mainID }}', '{{ $detail->typeID }}', '{{ $detail->siteID }}')">Delete</a> </td>
这样生成的函数调用就会变成:
delete(123, 456, 789) // 三个独立的参数,完全匹配你的函数定义
额外小提示
另外,delete是JavaScript的关键字,虽然Vue允许将它作为方法名使用,但为了避免潜在的语法冲突或代码混淆,建议把函数名改成deleteItem或者removeDetail这类更明确的名称,代码可读性也会更高。
内容的提问来源于stack exchange,提问作者Geoff_S




