首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用vue类组件

如何使用vue类组件
EN

Stack Overflow用户
提问于 2021-08-04 03:57:16
回答 1查看 345关注 0票数 0
代码语言:javascript
复制
<script lang="ts">
import { defineComponent, ref, nextTick, unref, onMounted } from 'vue';

import { useScript } from '/@/hooks/web/useScript';

const BAI_DU_MAP_URL = 'https://api.map.baidu.com/getscript?v=3.0&ak=xxx';
export default defineComponent({
  setup() {
    const wrapRef = ref<HTMLDivElement | null>(null);
    const { toPromise } = useScript({ src: BAI_DU_MAP_URL });

    async function initMap() {
      await toPromise();
      await nextTick();
      const wrapEl = unref(wrapRef);
      if (!wrapEl) return;
      const BMap = (window as any).BMap;
      const map = new BMap.Map(wrapEl);
      const point = new BMap.Point(116.404, 39.915);
      map.centerAndZoom(point, 15);
      map.enableScrollWheelZoom(true);
    }

    onMounted(() => {
      initMap();
    });

    return { wrapRef };
  },
})
</script>

vue-类组件

代码语言:javascript
复制
<script lang="ts">
import { ref, nextTick, unref } from 'vue'
import {Vue} from 'vue-property-decorator'
import { useScript } from '/@/hooks/web/useScript'

const BAI_DU_MAP_URL = 'https://api.map.baidu.com/getscript?v=3.0&ak=xxx';

export default class LogisticsDetail extends Vue {
  private wrapRef = ref<HTMLDivElement | null>(null)
  private toPromise = useScript({ src: BAI_DU_MAP_URL })

  async initMap() {
    await this.toPromise();
    await nextTick();
    const wrapEl = unref(this.wrapRef);
    if (!wrapEl) return;
    const BMap = (window as any).BMap;
    const map = new BMap.Map(wrapEl);
    const point = new BMap.Point(116.404, 39.915);
    map.centerAndZoom(point, 15);
    map.enableScrollWheelZoom(true);
  }

  mounted() {
    this.initMap()
  }

}
</script>

const { toPromise } = useScript({ src: BAI_DU_MAP_URL }); ->private toPromise = useScript({ src: BAI_DU_MAP_URL })

TypeError: this.toPromise不是一个函数

如何编写使用vue类组件?帮助我。

如何编写使用vue类组件?帮助我。

如何编写使用vue类组件?帮助我。

如何编写使用vue类组件?帮助我。

EN

回答 1

Stack Overflow用户

发布于 2022-06-08 03:08:25

因为vue-class-component在vue3中被弃用

在vue3中有一个替代方案。

vue面装潢工

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68645191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档