提问人:Hüseyin Dursun 提问时间:11/16/2023 更新时间:11/16/2023 访问量:27
如何设置 Laravel Livewire 组件以使其在导航时不再加载
How to set up a Laravel Livewire component to make it not loaded again when navigated
问:
我有一个 Livewire 组件,它在每个页面上都使用(例如标题中的通知),并且它被延迟加载。我知道它会在页面刷新或单击不包含“wire:navigate”属性的链接时再次加载。但是当我在链接上使用“wire:navigate”转到另一个页面时,我希望这个组件保持不变,而无需再次挂载和刷新,这样就不会进行额外的查询来提高性能。
可能吗?如果是这样,如何?
答:
0赞
seotech1
11/16/2023
#1
我希望它会有所帮助,尝试这种方式的次数,我也更喜欢 若要在页面转换中维护 Livewire 组件状态,请使用带有组件唯一标识符的“wire:key”指令。这样可以防止在页面之间导航时重新挂载它。
1赞
brombeer
11/16/2023
#2
您可以将元素放在一个块中,以在Livewire中的页面访问中保留元素,如下所示(audioplayer是一个示例,因为您没有发布任何代码):@persist ... @endpersist
@persist('player')
<audio src="{{ $episode->file }}" controls></audio>
@endpersist
有关在页面访问期间保留元素的文档
评论