当我在 Laravel livewire 上单击事件时获得 404 模态

Posted

技术标签:

【中文标题】当我在 Laravel livewire 上单击事件时获得 404 模态【英文标题】:getting 404 modal when I do click event on Laravel livewire 【发布时间】:2021-05-08 00:12:18 【问题描述】:

我已经开始使用 livewire,但是我无法使用 wire:click 在创建模式或编辑模式下加载表单,但是当我单击时,我得到的只是某种带有 404 错误的模式

这是livewire组件


namespace App\Http\Livewire;

use Livewire\Component;

class Activities extends Component

    public $view = 'none';

    public function render()
    
        return view('livewire.activities');
    

    public function create_view()

        $this->view = 'create';

    

    public function edit()

        $this->view = 'edit';

    

这是风景


<button wire:click="create_view" class="button-warning"> __('Create') </button>

@if ($view != 'none')
    <div class="col-span-6">
        @include("livewire.$view")
    </div>
@endif

编辑:我手动加载视图并正确加载,例如:


@if ($view != 'none')
    <div class="col-span-6">
        @include("livewire.edit")
    </div>
@endif

【问题讨论】:

【参考方案1】:

如果像你所说的那样工作,那么你必须检查 $view 值。始终关闭视图记得将属性更改为默认值。

@if ($view != 'none')
    <div class="col-span-6">
        @include("livewire.edit")
    </div>
@endif

【讨论】:

【参考方案2】:

我认为您可能遇到了 Livewire 配置问题。如果您已发布配置,请检查您的安装,特别是 config/livewire.php 中的 asset_url

php artisan livewire:publish --config

一旦您的配置正确,404 模式应该会消失。

【讨论】:

【参考方案3】:

如果配置中的 livewire.php 文件不是最佳配置 这个错误不应该消失 制作asset_url 'asset_url' asset_url =&gt; 'http://127.0.0.1:8000'(如果你有本地主机)

【讨论】:

【参考方案4】:

像这样更改您的代码。 因为在您的代码中,变量 $view 将考虑字符串的一部分。所以 livewire 正在搜索类似livewire.$view 的页面。但在我们的例子中,我们没有喜欢的文件名。我们只有视图文件create。所以根据下面给出的代码进行更改。它会工作

<button wire:click="create_view" class="button-warning"> __('Create') </button>

@if ($view != 'none')
    <div class="col-span-6">
        @include('livewire.'.$view)
    </div>
@endif

【讨论】:

以上是关于当我在 Laravel livewire 上单击事件时获得 404 模态的主要内容,如果未能解决你的问题,请参考以下文章

在 Livewire 中强制重新加载整页

Laravel 和 Livewire 在单击时更改按钮样式

当我添加构造函数来调用服务类时,Laravel Livewire 错误

Laravel 8 livewire 在任务完成或在其外部单击页面时隐藏菜单组件

Laravel Livewire 无法解析模板上分页的雄辩关系

laravel livewire,如何通过单击将 id 或数据传递给另一个组件