Vue.js 如何在弹出窗口最初打开时在Vue2传单中添加标记

Vue.js 如何在弹出窗口最初打开时在Vue2传单中添加标记,vue.js,vuejs2,leaflet,Vue.js,Vuejs2,Leaflet,动态添加标记时,如何将弹出窗口设置为初始打开 <v-map> <v-marker v-for="item in markers" :key="item.id" :lat-lng="item.latlng"> <v-popup :content="item.content"></v-popup> </v-marker> </v-map> 这里的示例:通过l-[传单事件]处理程序发送到Vue: 如何绑定Vu

动态添加标记时,如何将弹出窗口设置为初始打开

<v-map>
  <v-marker v-for="item in markers" :key="item.id" :lat-lng="item.latlng">
    <v-popup :content="item.content"></v-popup>
  </v-marker>
</v-map>

这里的示例:

通过
l-[传单事件]
处理程序发送到Vue:

如何绑定Vue2传单组件的事件?

所有事件绑定都可以对名为
l-[传单事件]
的事件进行,其中
[传单事件]
是传单文档中的事件名称

默认情况下打开弹出窗口的一种可能方法是将标记的
openPopup
方法绑定到其
add
事件

例如,对于内联处理程序:


更新的小提琴和演示

Vue.component('v-map',Vue.map);
Vue.组件(“v-tilelayer”,Vue2传单tilelayer);
Vue.组件(“v-标记”,VUE2传单标记);
Vue.组件(“v-popup”,VUE2传单.popup);
新Vue({
el:“#应用程序”,
数据(){
返回{
缩放:13,
中间:[47.417220,-1.219482],
url:'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
属性:“©;参与者”,
标记:L.latLng(47.413220,-1.219482),
标记:[]
}
},
挂载(){
window.setTimeout(()=>{
这个,推({
id:1,
latlng:L.latlng(47.417220,-1.222482),
内容:“嗨!这是我的弹出数据”
});
}, 1000);
window.setTimeout(()=>{
这个,推({
id:2,
latlng:L.latlng(47.417220,-1.24),
内容:“另一个”
});
}, 2000);
此.$refs.map.mapObject.on('add',(e)=>{
控制台日志(e)
});
}
});
html,body,#app{
高度:200px;
保证金:0;
}

Nikosh解决方案不适用于传单1.4。请尝试以下方法:

<l-map>
  <l-marker @add="$nextTick(() => $event.target.openPopup())">
    <l-popup></l-popup>
  </l-marker>
</l-map>


如果你能建立一个活生生的例子,那将非常有帮助。