LeaderLine官方文档在这里
1.安装插件
npm install leader-line-vue
2.导出LeaderLine
import LeaderLine from 'leader-line-vue';
3.创建连接线
let line = LeaderLine.setLine(startElement, endElement,
{ startPlug: 'disc', endPlug: 'disc',color: 'white', size: 2 });
注意:startElement, endElement为template中的元素节点,在Vue3中不要使用GetElementById去获取元素节点,而是要使用ref,可以参考我另外一篇文章
4.刷新连接线
当元素位置变了时,需要更新连接线
line.position();
5.完整示例
<template>
<div id="cesiumContainer">
<div ref="startRef" id="start">start</div>
<div ref="endRef" id="end">end</div>
</div>
</template>
<script lang="ts" setup>
import LeaderLine from 'leader-line-vue';
import {ref, onMounted} from 'vue'
const startRef=ref<any>();
const endRef=ref<any>();
onMounted(() => {
LeaderLine.setLine(startRef.value, endRef.value);
});
</script>
<style scoped>
#cesiumContainer
{
width: 100%;
height: 100%;
}
#start {
width: 50px;
height: 50px;
position: absolute;
top:10px;
left: 10px;
background-color: red;
}
#end {
width: 50px;
height: 50px;
position: absolute;
top:200px;
left: 200px;
background-color: red;
}
</style>