Livewire 可用 PHP 和 Blade 构建动态组件,无需 JavaScript;通过 public 属性双向绑定、wire:click 触发方法、wire:model.live 实现实时交互,自动处理 AJAX 与 DOM 更新。

用 Livewire 在 Laravel 中构建动态组件,不需要写一行 JavaScript,只要 PHP 和 Blade 就能实现响应式交互。核心是把组件逻辑写在 PHP 类里,视图用 Blade 渲染,Livewire 自动处理 AJAX 请求和 DOM 更新。
确保已安装 Laravel(建议 9.x 或更高),然后执行:
composer require livewire/livewire
在 resources/views/layouts/app.blade.php 的 末尾添加:
@livewireStyles
在 前添加:
@livewireScripts
运行命令生成组件:
php artisan make:livewire Counter
会生成两个文件:
- app/Livewire/Counter.php(组件类)
- resources/views/livewire/counter.blade.php(模板)
修改 Counter.php:
namespace App\Livewire;
<p>use Livewire\Component;</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/2142">
<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680148596213.png" alt="Pippit AI">
</a>
<div class="aritcle_card_info">
<a href="/ai/2142">Pippit AI</a>
<p>CapCut推出的AI创意内容生成工具</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="Pippit AI">
<span>133</span>
</div>
</div>
<a href="/ai/2142" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="Pippit AI">
</a>
</div>
<p>class Counter extends Component
{
public $count = 0;</p><pre class='brush:php;toolbar:false;'>public function increment()
{
$this->count++;
}
public function render()
{
return view('livewire.counter');
}}
修改 counter.blade.php:
<div>
<h2>当前计数:{{ $count }}</h2>
<button wire:click="increment">+1</button>
</div>在任意 Blade 页面中使用:
@livewire('counter')比如加个搜索框,输入时实时过滤数据:
public $search = '';
<p>public function render()
{
$users = User::where('name', 'like', "%{$this->search}%")->get();
return view('livewire.user-search', compact('users'));
}模板中:
<input wire:model.live="search" placeholder="搜索用户...">
.debounce.500ms 防抖,如 wire:model.live.debounce.300ms
基本上就这些。不复杂但容易忽略细节:确保组件名小写中划线(如 user-profile),PHP 类名驼峰(UserProfile),Blade 文件路径要匹配。写完刷新页面,交互就生效了。
以上就是Laravel如何使用Livewire构建动态组件?(入门代码)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号