在next -传单中访问地图对象



我有一个像这样的传单地图(剪辑):

<template>
<client-only>
<div>
<l-map
ref="myMap"
:zoom="zoom"
:max-zoom="maxZoom"
:min-zoom="minZoom"
:crs="crs"
:options="mapOptions"

我试图访问我在挂载钩子期间创建的传单地图对象:

mounted() {
this.maxZoom = this.$refs.myMap.mapObject.getMaxZoom()

this.$L.myMap.mapObject.getMaxZoom()

但我总是得到一个";undefine"错误。我在这里做错了什么,我怎么能访问我的地图对象,以获得一些东西,如。getmaxzoom()在运行期间使用next -传单?没有next -传单,只使用vue2传单,它就像一个魅力…

我在使用next时遇到了同样的问题。

<client-only>
<LMap
ref="map"
@hook:mounted="mapInitialization"
:zoom="1"
:center="[640, 512]"
:options="{ attributionControl: false, zoomControl: false }"
:crs="crs"
>
<LImageOverlay :url="url" :bounds="bounds"></LImageOverlay>
<LMarker :lat-lng="[69.5, 177.5]" :z-index="1"></LMarker>
</LMap>
</client-only>
methods: {
mapInitialization() {
const map = this.$refs.map
console.log('MAP FROM STUFF', map)
map.mapObject.setView()
}
}

$nextTick在mounted方法中不能正常工作,因为它需要一些tick并且在页面初始化时ref为空。

最新更新