Вызов функции обернутого класса в дочернем компоненте в vue 2 - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь использовать vUdav / vue2-leaflet-locatecontrol , чтобы обеспечить геолокацию в моем пакете vue2-leaflet. Я хочу, чтобы геолокация срабатывала при запуске, и после чтения кода плагина locatecontrol я думаю, мне нужно запустить .start(), чтобы сделать это.

Я пытаясь понять, как это сделать. В моем компоненте я ссылаюсь на vue2-leaflet-locatecontrol с помощью ref и думал, что могу сделать что-то вроде this.$refs.location.start();, однако функция недоступна. Может ли кто-нибудь помочь мне указать правильное направление?

<l-map
    v-if="map.showMap"
    :zoom="map.zoom"
    :center="map.center"
    :options="map.mapOptions"
    style="height: 100%"
    @locationfound="onLocationFound"
    @ready="getLocation"
    @click="changeMarker">
        <l-tile-layer
            :url="map.url"
            :attribution="map.attribution" />
        <l-marker :lat-lng="map.markers.incident.latlng"></l-marker>
        <v-locateControl
            ref="location"
            :options="{
                showCompass: true,
                watch: true,
                setView: 'always',
            }" />
</l-map>
import Vue2LeafletLocatecontrol from 'vue2-leaflet-locatecontrol/Vue2LeafletLocatecontrol';

...

methods: {
    getLocation(){
        this.$refs.location.start();
    },
},
...