Livewire Laravel - 每次我尝试调用一个方法时,我都会收到一个带有 404 页面的 div livewire-error

Posted

技术标签:

【中文标题】Livewire Laravel - 每次我尝试调用一个方法时,我都会收到一个带有 404 页面的 div livewire-error【英文标题】:Livewire Laravel - Every time I try to call a method, I get a div livewire-error with 404 page 【发布时间】:2022-01-20 20:58:33 【问题描述】:

我刚刚安装了 livewire/livewire,我正在尝试制作我的第一个组件。

每次用户单击标签时,我都会尝试保存一个变量。 该组件渲染得很好,问题是每当我点击它时,我都会在页面中间看到它:

<div id="livewire-error" style="position: fixed; width: 100vw; height: 100vh; padding: 50px; background-color: rgba(0, 0, 0, 0.6); z-index: 200000;" tabindex="0">
<iframe style="background-color: rgb(23, 22, 26); border-radius: 5px; width: 100%; height: 100%;">
<!-- 404 ERROR PAGE -->
</iframe></div>

显示 404 错误页面。

这是我的组件的刀片文件:

<div>
<li class="nav-item d-none d-lg-block"><a class="nav-link nav-link-style" wire:click="switchMode"><i class="ficon" data-feather="moon"></i></a></li>
</div>

这是我的组件的 php 文件:

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use Illuminate\Support\Facades\Auth;

class DarkMode extends Component

    public function switchMode()
    
        $user = Auth::user();
        dd($user);
        if($user->darkMode == 0) $user->darkMode = 1;
        else $user->darkMode = 0;
        dd($user->id);
        $user->save;
    
    
    public function mount() 
    

    
    
    public function render()
    
        return view('livewire.dark-mode');
    

我的 Laravel 版本是 8.76.2,我的 Livewire 版本是 2.8.2

我能做什么?

【问题讨论】:

【参考方案1】:

您错过了锚标记中的 href (href="#")。

<div>
    <li class="nav-item d-none d-lg-block">
        <a class="nav-link nav-link-style" wire:click.prevent="switchMode" href="#">
            <i class="ficon" data-feather="moon"></i>
        </a>
    </li>
</div>

您可以使用此方法进行切换。 (如果您的 darkMode 字段是布尔值)

public function switchMode()

    $user = Auth::user();
    $user->darkMode = !$user->darkMode;
    $user->save;

【讨论】:

感谢您的帮助!我实际上发现了问题 - 这是我的路由缓存。 那很好。 :)

以上是关于Livewire Laravel - 每次我尝试调用一个方法时,我都会收到一个带有 404 页面的 div livewire-error的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Eloquent 模型中使用 Laravel Livewire?

Laravel Livewire:输入选择,选择默认选项

dompdf 没有从 Laravel 8 和 Livewire 视图下载 PDF

如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像

出现错误“在初始化之前不能访问类型属性” - Laravel Livewire

使用分页数据时 Livewire 抛出错误