首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Laravel-livewire 'wire:model‘不能工作?

为什么Laravel-livewire 'wire:model‘不能工作?
EN

Stack Overflow用户
提问于 2020-11-28 23:54:09
回答 4查看 6.9K关注 0票数 2

我使用的是Laravel 8。

我的Livewire控制器

代码语言:javascript
复制
<?php

namespace App\Http\Livewire;

use Livewire\Component;

class SearchDropdown extends Component
{
    public $search = 'hello there';
    public function render()
    {
        return view('livewire.search-dropdown');
    }
}

Livewire刀片

代码语言:javascript
复制
<div class="relative mt-3 md:mt-0">
    <input wire:model="search" type="text" class="bg-gray-800 text-sm rounded-full w-64 px-4 pl-8 py-1 focus:outline-none focus:shadow-outline" placeholder="Search">
    <div class="absolute top-0">
        <svg class="fill-current w-4 text-gray-500 mt-2 ml-2" viewBox="0 0 24 24"><path class="heroicon-ui" d="M16.32 14.9l5.39 5.4a1 1 0 01-1.42 1.4l-5.38-5.38a8 8 0 111.41-1.41zM10 16a6 6 0 100-12 6 6 0 000 12z"/></svg>
    </div>
    <div class="absolute text-sm bg-gray-800 rounded w-64 mt-4">
        <ul>
            <li class="border-b border-gray-700">
                <a href="#" class="block hover:bg-gray-700 px-3 py-3">{{ $search }}</a>
            </li>
            <li class="border-b border-gray-700">
                <a href="#" class="block hover:bg-gray-700 px-3 py-3">Avengers</a>
            </li>
            <li class="border-b border-gray-700">
                <a href="#" class="block hover:bg-gray-700 px-3 py-3">Avengers</a>
            </li>
        </ul>
    </div>
</div>

我已经在main.blade文件中包含了Livewire

代码语言:javascript
复制
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Movie App</title>

    <link rel="stylesheet" href="{{ URL::asset('/css/main.css') }}">
    <livewire:styles />
</head>

这是在身体结束之前

代码语言:javascript
复制
<livewire:scripts />

现在,当我在我的搜索框中写东西时,它应该在我写的时候更新,但是它没有更新,而是显示了"hello there“-- $search变量的初始值。

附言:这是在我的浏览器中显示的内容。由于某些原因,livewire.js出现了错误。如何解决这个问题?

EN

回答 4

Stack Overflow用户

发布于 2021-06-19 23:20:36

我也有同样的问题,通过添加

代码语言:javascript
复制
 <script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"></script>

在主布局文件中,因为显然,它遗漏了这一点。

票数 1
EN

Stack Overflow用户

发布于 2020-11-29 18:28:59

我听从了@Kamlesh Paul的建议,它起作用了。

您需要设置livewire基本url

在config/livewire.php中

代码语言:javascript
复制
'asset_url'  =>  env('APP_URL', 'http://localhost'),

然后在.env中

代码语言:javascript
复制
APP_URL=your_app_url
票数 0
EN

Stack Overflow用户

发布于 2021-01-13 23:10:07

添加

代码语言:javascript
复制
@livewireStyles
        <link rel="stylesheet"
            href="{{ mix('css/app.css') }}">

代码语言:javascript
复制
<script src="{{ mix('js/app.js') }}"></script>
        @livewireScripts

在你的主布局文件中,我认为它应该是有效的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65051509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档