gpt4 book ai didi

laravel - 如何在 Livewire 重新渲染后重新初始化 AlpineJS 组件?

转载 作者:行者123 更新时间:2023-12-05 09:28:49 24 4
gpt4 key购买 nike

我有一个使用 AlpineJS 隐藏的警报组件,但我希望它在 Livewire 重新呈现后再次可见。

使用 Livewire 组件显示警报

@if(Session::has('success'))
<x-success-alert :message="Session::get('success')" />
@endif

AlpineJS 组件

<div x-data="{show: true}">
<div x-show="show">
<span>{{ $message }}</span>
<button @click="show = false">&times;</button>
</div>
</div>

最佳答案

解决方案是通过将 wire:key 添加到一个随机值来强制 Livewire 再次将该元素添加到 dom 中。

<div wire:key="{{ rand() }}">
<div x-data="{show: true}">
<div x-show="show">
<span>{{ $message }}</span>
<button @click="show = false">&times;</button>
</div>
</div>
</div>

通过这种方式,Livewire 将销毁旧的 dom 元素并添加重新初始化 Alpine 组件的新元素。

关于laravel - 如何在 Livewire 重新渲染后重新初始化 AlpineJS 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71099094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com