Laravel 8 组件 @props 指令不起作用
Posted
技术标签:
【中文标题】Laravel 8 组件 @props 指令不起作用【英文标题】:Laravel 8 components @props directive is not working 【发布时间】:2021-05-10 04:48:42 【问题描述】:错误异常 未定义变量:label(视图:resources/views/components/forms/select.blade.php)
我该如何解决这个问题? 我尽一切努力解决这个问题,但我找不到解决方案。我已经解决这个问题5天了!
我将 Laravel 7 升级到 8。
现在 Laravel:v8.26.1
<x-forms.select name="subject" label="Subjects" value="test">
@foreach($user->subjects as $subject)
<option value="$subject->id">$subject->name</option>
@endforeach
</x-forms.select>
// app/View/Components/Forms/Select.php
<?php
namespace App\View\Components\Forms;
use Illuminate\View\Component;
class Select extends Component
public function render()
return view('components.forms.select');
// resources/views/components/forms/select.blade.php
@props(['label'])
$label
<label class="form-label"> $attributes->get('label') </label>
<select class="form-select" aria-label="Default select" $attributes>
$slot
</select>
:
【问题讨论】:
检查storage/framework/views
中已解析的.php 文件以查看正在执行的实际php 代码。它可能会给你一些提示。
【参考方案1】:
谢谢你,泰勒·奥特维尔
@props 仅适用于没有类的匿名组件。如果您使用的是类,请查阅此文档:Passing Data To Components | Laravel
【讨论】:
以上是关于Laravel 8 组件 @props 指令不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Vue 组件 - 如何避免改变一个 prop(Laravel 组件)
AngularJS、SweetAlert.js 在自定义指令中不起作用