为什么要使用组件?
回答:使用有助于使用干净代码的组件,我们可以在您的组件中分离可重复使用的组件,并在刀片文件中使用任何地方。
Laravel头等基础组件中有两种类型的组件可以从刀片文件传递数据,而另一个也称为匿名组件,这些数据不需要直接使用刀片文件中的数据传递数据。不用担心,我会逐步解释你。
步骤1
您需要使用工匠命令行生成组件
php artisan make:component Forms/InputText
然后您将获得两个文件,一个在内部
app\View\Components\Forms\InputText.php
和其他resources\views\components\forms\input-text.blade.php
。
第2步
转到inputtext.php文件夹
<?php
namespace App\View\Components\Forms;
use Closure;
use Illuminate\Contracts\View\View;
use Illuminate\View\Component;
class InputText extends Component
{
public string $type;
public string $label;
public string $name;
public string $placeholder;
/**
* Create a new component instance.
*/
public function __construct(
$type,
$label,
$name,
$placeholder
) {
$thsis->type = $type;
$this->label = $label;
$this->name = $name;
$this->placeholder = $placeholder;
}
/**
* Get the view / contents that represent the component.
*/
public function render(): View|Closure|string
{
return view('components.forms.input-text');
}
}
以上代码是为了声明一些我们将从刀片组件传递的变量
步骤3
转到forms \ input-text.blade.php并使用了您在输入文本类中使用的变量。
<div>
<label for="{{ $name }}">{{$label}}</label>
<input type="{{ $type }}"
class="form-control @error('email') is-invalid @enderror"
id="{{ $name }}" name="{{ $name }}"
placeholder="{{ $placeholder }}">
@error($name)
<div class="invalid-feedback">
{{ $message->first() }}
</div>
@enderror
</div>
步骤4
在您的罐中使用任何刀片文件,例如以下
<x-forms.input-text type="text"
label="Name"
name="name"
placeholder="Please Enter your name"
/>
InputText
组件允许您创建输入文本字段。使用此组件时,您可以通过使用:name="$name"
中的name
属性传递变量。
感谢您阅读此文章,如果您有任何疑问或任何建议免费对评论 @Harom284