Vue.component('AMap', VueAMap.AMap)写了这个还需要写import AMap from 'vue-amap'这个吗?
时间: 2024-01-13 12:04:36 浏览: 90
是的,需要在组件中引入`vue-amap`模块,并使用`VueAMap.AMap`来注册`AMap`组件。`import AMap from 'vue-amap'`是用来引入`vue-amap`模块的,而`Vue.component('AMap', VueAMap.AMap)`是用来注册`AMap`组件的。两者是不同的。
在Vue项目中,我们通常会在入口文件(如`main.js`)中引入`vue-amap`模块,并注册`AMap`组件:
```
import Vue from 'vue';
import VueAMap from 'vue-amap';
Vue.use(VueAMap);
Vue.component('AMap', VueAMap.AMap);
VueAMap.initAMapApiLoader({
// 高德的key
key: 'your amap key',
// 插件集合
plugin: ['AMap.Geolocation', 'AMap.MarkerClusterer'],
// 高德 sdk 版本,默认为 1.4.15
v: '1.4.15',
});
```
这样,在项目中就可以使用`AMap`组件了。例如,在某个Vue组件中使用`AMap`组件:
```
<template>
<div class="map-container">
<AMap :zoom="zoom" :center="center">
<AMap-marker :position="center" />
</AMap>
</div>
</template>
<script>
export default {
data() {
return {
zoom: 13,
center: [116.397428, 39.90923],
};
},
};
</script>
```
需要注意的是,`Vue.component('AMap', VueAMap.AMap)`和`import AMap from 'vue-amap'`是不能同时使用的,因为它们都是用来注册`AMap`组件的。
阅读全文