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

Laravel类组件传参问题:不使用@props如何正确传递参数?

正确传参方式

分两种场景处理:

  • 传递字符串字面量:直接写属性名=值,不要加冒号:, 这样会把值作为字符串传递给组件参数,覆盖默认值

    <x-category-select selected="3" id_name="category_id" />
    
  • 传递变量:必须加冒号:, 同时变量名要带$符号(确保变量在当前模板上下文存在)
    比如你有一个$category_id变量,写法如下:

    <x-category-select selected="{{ $currentSelected }}" :id_name="$category_id" />
    

    你之前报错是因为写了:id_name="category_id",没加$的话PHP会把category_id当成未定义的常量,自然抛出错误。

额外注意:

要确保你的组件类构造函数参数名和模板传参的属性名完全一致(大小写敏感),比如组件类代码要像这样:

class CategorySelect extends Component
{
    public $selected;
    public $id_name;

    public function __construct($selected = -1, $id_name = "default_id")
    {
        $this->selected = $selected;
        $this->id_name = $id_name;
    }

    public function render()
    {
        return view('components.category-select');
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 15:22:46