使用 Jetstream 在 Laravel 8 中添加新 Livewire 组件时如何解决 RootTagMissingFromViewException 错误
Posted
技术标签:
【中文标题】使用 Jetstream 在 Laravel 8 中添加新 Livewire 组件时如何解决 RootTagMissingFromViewException 错误【英文标题】:How to resolve RootTagMissingFromViewException error while adding new Livewire component in Laravel 8 with Jetstream 【发布时间】:2021-01-12 21:16:03 【问题描述】:我正在尝试向 Laravel 8 Jetstream 添加一个新的 Livewire 组件,但看起来我做错了什么并收到以下错误。
错误:
Livewire\Exceptions\RootTagMissingFromViewException
Livewire encountered a missing root tag when trying to render a component. When rendering a Blade view, make sure it contains a root html tag
路线:
// web.php
Route::middleware('auth')->group(function()
Route::get('/newEmployee', NewEmployee::class);
);
控制器:
// app/Http/Livewire/NewEmployee.php
namespace App\Http\Livewire;
use Livewire\Component;
class NewEmployee extends Component
public function render()
return view('livewire.new-employee')->layout('layouts.app')->name('NewEmployee');
查看:
<!-- resources/views/livewire/new-employee.blade.php -->
<div>
<div class="max-w-7xl mx-auto py-10 sm:px-6 lg:px-8">
<h1> New Wmployee </h1>
</div>
</div>
【问题讨论】:
【参考方案1】:您需要在 livewire BLADE 文件中添加任何 HTML 标签。 LiveWire 在 BLADE 文件中需要 HTML TAG。因此,在 LIVEWIRE BLADE 中添加简单的 TEST PAGE。问题应该得到解决。
【讨论】:
【参考方案2】:不会(命名)方法。请定义:
return view('livewire.new-employee')->layout('layouts.app');
【讨论】:
请详细说明你的答案。 对我来说,这很有效:return view('livewire.new-employee')->extends('layouts.app');以上是关于使用 Jetstream 在 Laravel 8 中添加新 Livewire 组件时如何解决 RootTagMissingFromViewException 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jetstream 在 Laravel 8 中添加新 Livewire 组件时如何解决 RootTagMissingFromViewException 错误
在 Laravel 8 Jetstream 的 Blade 组件中绑定 Livewire 属性
如何使用 laravel 8 +jetstream + spatie 为注册用户分配角色