我用php artisan make:component testcomponent
制作了一个laravel组件,并为它创建了两个文件;一个是刀片和第二个是php类文件.这里是刀片文件:
<div>
{{ $data }}
</div>
这是php文件
<?php
namespace App\View\Components;
use Illuminate\View\Component;
class testcomponent extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View|\Closure|string
*/
public function render()
{
return view('components.testcomponent');
}
}
我在blade文件中使用<x-testcomponent/>
的方式调用此组件
但是现在,我如何将一个来自控制器的变量传递给这个组件呢?
3条答案
按热度按时间q3aa05251#
首先,到php组件文件并执行此操作。(声明一个变量并从来自构造函数的变量中赋值)
然后在视图文件中调用blade组件;你可以这样打电话
其中$data是来自控制器的变量
这就解决了!!
t9aqgxwy2#
在控制器中,您可以通过添加view函数将数据传递给视图,如下所示:
将“home”更改为顶级视图。
假设“home”是您的顶层视图,则home将以下列内容开始:
注意结尾处的'/〉'。如果您在文件结尾处关闭x-test组件,您只需要:
最后,在TestComponent View类中,传递并保存数据,如下所示:
然后,在您的testcomponent.blade.php中,下面的代码现在应该可以工作了:
8tntrjer3#
那么我们可以发送多个变量,例如: