【发布时间】:2021-06-15 16:28:59
【问题描述】:
我想刷新其他容器中的一些html,而不是按钮所在的位置。
在原生ajax中是这样的
.done(function(result){
$('#result').html(result);
});
它在 livewire alpinejs 中是如何工作的?
【问题讨论】:
标签: laravel-livewire alpine.js
我想刷新其他容器中的一些html,而不是按钮所在的位置。
在原生ajax中是这样的
.done(function(result){
$('#result').html(result);
});
它在 livewire alpinejs 中是如何工作的?
【问题讨论】:
标签: laravel-livewire alpine.js
你有两个选择
使用 Livewire 生命周期 Javascript 挂钩 您可以在此链接中看到 livewire javascript 钩子 Lifecycle Hooks
document.addEventListener("DOMContentLoaded", () => {
Livewire.hook('message.processed', (message, component) => {})
});
使用浏览器事件调度
Dispatching Browser Events 您可以像这样在后端随时发送浏览器事件
$this->dispatchBrowserEvent('name-updated', ['newName' => $value]);
对于 js 端,您可以使用以下代码:
window.addEventListener('name-updated', event => {
alert('Name updated to: ' + event.detail.newName);
})
【讨论】: