我正在尝试通过jquery调用wire:click =“deleteImage(1)”-
livewire.emit('deleteImage', 1);
但出现错误 - 未捕获(承诺中)ReferenceError:livewire 未定义
您必须确保Livewire已初始化。 另外emit是2.0的一个派发事件的方法,不能直接用来调用方法。
这是一个简化的工作示例;
<?php
//class App\Livewire\JQry
namespace App\Livewire;
use Livewire\Component;
class JQry extends Component
{
public $test = 1;
public function add()
{
$this->test++;
}
}
{{-- livewire\j-qry.blade.php --}}
<div>
<button id="but1">
[Add 1]
</button>
<br>
{{ $test }}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
document.addEventListener("livewire:init", () => {
$(function() {
$("#but1").on ("click", () => {
window.Livewire.getByName("j-qry")[0].add();
// @this.add(); ---> if the script is set in the template we can use this shorthand format
});
});
});
</script>
</div>