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

Laravel中如何向组件化布局的侧边栏局部视图传递变量?

如何向Laravel Blade组件传递并接收用户信息

1. 在父视图中传递变量给组件

你只需要在调用<x-user.partials.sidebar />组件时,通过带冒号的属性把$user变量传递进去——冒号的作用是告诉Blade这是一个PHP变量而非字符串:

修改后的profile.blade.php代码:

<x-user.master>
    <x-slot name="title">
        {{ $title ?? 'Profile | Reporter'}}
    </x-slot>

    {{-- 传递user变量到侧边栏组件 --}}
    <x-user.partials.sidebar :user="$user" />
    
</x-user.master>

2. 在侧边栏组件中接收并使用变量

打开侧边栏组件视图文件(路径通常为resources/views/components/user/partials/sidebar.blade.php),在文件顶部用@props声明需要接收的变量,之后就能在组件内直接使用该变量:

示例代码:

{{-- 声明接收user变量,可添加默认值避免变量不存在报错 --}}
@props(['user'])

{{-- 在组件内使用用户信息 --}}
<div class="sidebar-profile">
    <h3>{{ $user->name }}</h3>
    <p>{{ $user->email }}</p>
    <img src="{{ $user->avatar_url }}" alt="{{ $user->username }}'s avatar">
</div>

如果要处理变量可能不存在的场景,可以给@props添加默认值:

@props(['user' => null])

@if($user)
    <div class="sidebar-profile">
        <h3>{{ $user->name }}</h3>
        <p>{{ $user->email }}</p>
    </div>
@else
    <p>未登录</p>
@endif

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:31:01