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

如何在Laravel组件中传递数组变量?解决未定义变量报错

解决Laravel组件接收数组变量提示未定义的问题

你当前的问题核心是:Laravel组件默认不会自动继承父视图的变量,必须显式传递才能让组件获取到变量值。

解决方案:通过组件属性传递变量

修改调用组件的代码,把$breadcrumbs作为属性传递给组件,注意属性名前要加冒号:,用于告诉Laravel解析变量而非静态字符串:

@php
    $breadcrumbs = [
    [
        'name' => 'Trainees',
        'link' => route('trainee.list')
    ]
];
@endphp

@section('breadcrumbs')
    {{-- 用冒号标记传递的是变量 --}}
    <x-breadcrumbs :breadcrumbs="$breadcrumbs"/>
@endsection

组件端接收并使用变量

在你的breadcrumbs组件文件(通常位于resources/views/components/breadcrumbs.blade.php)中,需要先声明接收该属性:

{{-- 声明要接收的breadcrumbs属性 --}}
@props(['breadcrumbs'])

{{-- 现在可以正常遍历使用$breadcrumbs变量 --}}
@foreach($breadcrumbs as $crumb)
    <a href="{{ $crumb['link'] }}">{{ $crumb['name'] }}</a>
    {{-- 可选:添加面包屑分隔符 --}}
    @unless($loop->last) / @endunless
@endforeach

关键注意事项

  • 冒号:不能省略:如果不加冒号,传递的是字符串"$breadcrumbs",而非变量的实际数组值。
  • 组件必须声明@props:若组件未声明接收该属性,即使传递了变量也无法访问,依然会提示变量未定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:57:06