【问题标题】:How to realize ajax .done in livewire如何在 livewire 中实现 ajax .done
【发布时间】:2021-06-15 16:28:59
【问题描述】:

我想刷新其他容器中的一些html,而不是按钮所在的位置。

在原生ajax中是这样的

.done(function(result){
                     $('#result').html(result); 
                  });

它在 livewire alpinejs 中是如何工作的?

【问题讨论】:

    标签: laravel-livewire alpine.js


    【解决方案1】:

    你有两个选择

    1. 使用 Livewire 生命周期 Javascript 挂钩 您可以在此链接中看到 livewire javascript 钩子 Lifecycle Hooks

      document.addEventListener("DOMContentLoaded", () => {
      Livewire.hook('message.processed', (message, component) => {})
      

      });

    2. 使用浏览器事件调度

      Dispatching Browser Events 您可以像这样在后端随时发送浏览器事件

    $this->dispatchBrowserEvent('name-updated', ['newName' => $value]);
    

    对于 js 端,您可以使用以下代码:

    window.addEventListener('name-updated', event => {
        alert('Name updated to: ' + event.detail.newName);
    })
    

    【讨论】:

      猜你喜欢
      • 2021-02-06
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      相关资源
      最近更新 更多