gpt4 book ai didi

laravel - 以编程方式渲染 Laravel 7 组件

转载 作者:行者123 更新时间:2023-12-04 01:28:03 25 4
gpt4 key购买 nike

我有一个看起来像这样的 Laravel 7 组件

class Input extends Component
{
public $name;
public $title;
public $value;
public $type = 'text';

/**
* Create a new component instance.
*
* @return void
*/
public function __construct($name, $title)
{
$this->name = $name;
$this->title = $title;
$this->value = \Form::getValueAttribute($name);
}

/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\View\View|string
*/
public function render()
{
return view('components.fields.input');
}
}

我可以像这样在 Blade 组件中渲染字段:
<x-input name="name" :title="__('My field')" />
我需要在代码中创建和呈现字段,我尝试了以下方法:
$field = new Input('name', 'My field');
$field->render();

这将返回一个错误:
Undefined variable: title
我可以看到渲染函数被调用,但公共(public)属性对 View 不可用。如何使用公共(public)属性呈现组件?

最佳答案

试试这个,它在 laravel 8 中对我有用,我检查了 data函数存在于 laravel 7

$field = new Input('name', 'My field');
$field->render()->with($field->data());
** 数据函数包括组件的方法、属性和属性。

关于laravel - 以编程方式渲染 Laravel 7 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61484068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com