我正在try VUE-LEAFLE/VUE-LEAFLE,并试图创建许多<l-polyline> Inside <l-map>组件的实例.但我不知道如何做到这一点.

静态版本( map 附带绘制的折线):


<template>
  <l-map ref="map" v-model:zoom="zoom" :center="[47.41322, -1.219482]">
    <l-polyline
        :lat-lngs="[
        [47.334852, -1.509485],
        [47.342596, -1.328731],
        [47.241487, -1.190568],
        [47.234787, -1.358337],
      ]"
        color="green"
    />
  </l-map>
</template>

动态try (准备以编程方式添加多段线的函数,但不起作用):

<template>
  <l-map ref="map" v-model:zoom="zoom" :center="[47.41322, -1.219482]">
  </l-map>
</template>

<script lang="ts">
function someAction(){
let poly= createApp(LPolyline,{
  latLngs:[[47.334852, -1.509485],
    [47.342596, -1.328731],
    [47.241487, -1.190568],
    [47.234787, -1.358337]]
});
poly.mount(this);

}

</script>

为了清楚起见,我需要一个函数来在运行时将LPolyline个组件插入/附加到LMap组件中,如果可能的话,最初不应该在LMap组件中声明它.

我刚开始使用Vue.js,如果我犯了一个明显的错误,很抱歉.谢谢你的理解.

推荐答案

只需添加您想要使用的组件,然后像其他任何Vue组件一样为它们提供数据.例如,可以从包含v-for的数组加载多段线:

    <l-map :zoom="zoom" :center="center">
      <l-polyline
        v-for="line in lines"
        :key="line.id"
        :lat-lngs="line.latLongs"
        :color="line.color"
      />
    </l-map>

看看这sandbox个人

Vue.js相关问答推荐

Vuetify 3 改变 Select 的 colored颜色

Vuetify右侧并排switch

Vue composition api: 访问