你好,
我有一个名为的刀片布局:
profile.blade.php
//组件
我有一个刀片文件信息,它来自profile.blade.php
组件。
在我的控制器上,我有一个配置文件方法:
public method profile(User $user) {
return view('infos.blade.php', compact('user'));
}
当我尝试在 profile.blade.php组件中使用变量 user 时,出现错误消息“ 未定义的用户变量“
我的问题是如何从控制器接收到的数据到刀片组件配置文件? 因为该组件的这一部分将被多次使用。
谢谢。
答案 0 :(得分:1)
在您的应用程序/视图/组件/配置文件中-
<?php
namespace App\View\Components;
use Illuminate\View\Component;
class profile extends Component
{
public $user; //for consistency
public function __construct($user)
{
$this->user = $user;
}
public function render()
{
return view('components.profile');
}
}
现在组件可以渲染一个变量($user), 在您的信息的blade/infos.blade.php 中,您可以提供 组件的变量,如 --
<x-profile :user='$user' ></x-profile>
我知道这个问题是很久以前发布的 但我有同样的问题,答案张贴在这里 对我不起作用,但这种方法确实有效......它可能对某人有所帮助。
答案 1 :(得分:0)
由于它是组件,因此每次调用时都必须传递用户参数
@component('profile', ['user' => $user]) @endcomponent // here $user comes from controller