Laravel livewire Laravel Livewire:开放模式

Laravel livewire Laravel Livewire:开放模式,laravel-livewire,Laravel Livewire,我有一张上面有记号的地图。如果单击此标记,它将运行其后面的php。模态和标记是同一组件。如何在单击时打开此组件?我已经试过x-on和dispatchBrowserEvent了 我有一个使用按钮的方法,但不使用此方法(wire:click=“”) 组成部分: <script> var hqicon = L.icon({ iconUrl: '{{ asset('assets/map-icons/hq-icon.png') }}', iconSi

我有一张上面有记号的地图。如果单击此标记,它将运行其后面的php。模态和标记是同一组件。如何在单击时打开此组件?我已经试过x-on和dispatchBrowserEvent了

我有一个使用按钮的方法,但不使用此方法(wire:click=“”)

组成部分:

<script>


    var hqicon = L.icon({
        iconUrl: '{{ asset('assets/map-icons/hq-icon.png') }}',
        iconSize: [30, 30]
    });

    var maker = L.marker([{{ Auth::user()->company->hq->lat() }}, {{ Auth::user()->company->hq->lon() }}],{icon: hqicon}).addTo(map)
    .on('click', function (e) {
        window.livewire.emit('launchHqModal')
    });
</script>

<x-jet-dialog-modal wire:model="HqModal" id="HqModal">
    <x-slot name="title">
        {{ __('Hoofdkantoor') }}
    </x-slot>

    <x-slot name="content">

    </x-slot>

    <x-slot name="footer">

    </x-slot>
</x-jet-dialog-modal>


变量hqicon=L.icon({
iconUrl:“{asset('assets/map icons/hq icon.png')}}”,
iconSize:[30,30]
});
var maker=L.marker([{Auth::user()->company->hq->lat()},{{{Auth::user()->company->hq->lon()}}],{icon:hqicon}).addTo(map)
.on('click',函数(e){
window.livewire.emit('launchqmodal')
});
{{{{(“Hoofdkantoor”)}
组件php:

<?php

namespace App\Http\Livewire\Map;

use Livewire\Component;

class HqMarker extends Component
{
    public $launchHqModal = false;

    protected $listeners = ['launchHqModal'];

    public function launchHqModal()
    {
        $this->dispatchBrowserEvent('launch-hq-modal');
        
        $this->emit('launch-hq-modal');

        $this->launchHqModal = true;

    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return \Illuminate\View\View|string
     */
    public function render()
    {
        return view('map.hq-marker');
    }
}