【发布时间】:2021-07-22 23:31:23
【问题描述】:
所以,这是我的第一个LiveWire 学习项目。
直截了当,我正在使用php artisan make:livewire user
然后这就是我得到的
第一个用户.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class User extends Component
{
public function render()
{
return view('livewire.user.index'); //i've updated this
}
}
所以,我想在不同的页面创建一个用户。 注意:我已经为 SPA 使用了 turbolinks,当我像传统的 Laravel 控制器一样创建时
Web.php
Route::get('/user', User::class)->name('user.index');
Route::get('/user/create',[User::class, 'create'])->name('user.create');
User.php(livewire 组件)
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class User extends Component
{
public function render()
{
return view('livewire.user.index');
}
// This is what i create
public function create()
{
return view('livewire.user.create')
->extends('layouts.app')
->section('contents');
}
}
它没有给我父模板(它没有运行到 layouts.app 并转到内容,它只是显示空白页),我试图用布局扩展它.app 和部分
layouts/app.blade.php
<div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }">
@include('layouts.include._sidebar')
<div class="flex flex-col flex-1 w-full">
@include('layouts.include._navbar')
<main class="h-full overflow-y-auto">
<div class="container px-6 mx-auto grid">
{{-- {{ $slot }} --}}
@yield('contents')
</div>
</main>
</div>
</div>
我的问题:
我们可以像标准的 laravel 控制器一样使用 在用户组件中创建公共函数 还是我们必须创建一个名为 UserCreate 的新组件?谢谢!
【问题讨论】:
标签: php laravel controller components laravel-livewire