我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue3中如何使用高德地图api

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue3中如何使用高德地图api

本篇内容介绍了“vue3中如何使用高德地图api”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

前置工作

在开发之前我们需要了解 vue3 中接入高德地图的几个步骤

  • 首先安装包并引入

npm i @amap/amap-jsapi-loader --save
import AMapLoader from '@amap/amap-jsapi-loader'

  • 使用官方介绍的方式进行加

vue3中如何使用高德地图apivue2vue3 是有区别的,这里我们使用的是 vue3 ,但这里 vue3 的方式还是选项式,不是组合式的,我自己写的时候使用的是组合式的,且集成了 ts, 我后面发布完整 .vue 文件的时候 会去掉标签上的 ts,因为类型还没有完善,等后面完善了再贴更改以后得。为什么要使用 shallowRef 官方也给出了说明原因。

示例模块

这里我直接把我前面,写过的 地图业务需求的业务逻辑拿过来的,没有使用框架,直接在一个 html 文件当中引入,链接大家可以点击下面进行查看:
高德地图jsApi的使用
高德地图jsApi的点和线配置
高德地图jsApi的右键设置
高德地图jsApi的点位新增
高德地图jsApi的图例
使用vue3 的时候,实例化的方式, this 的问题, 以及插入字符串模板的时候 事件响应的方式都需要更改,还是很麻烦的

模块的引入

  • 首先导入的方式,和官网一样,后面我会贴完整代码, 这里我们使用 plugins 加载插件, 其他配置如 Loca, 直接进行配置, 这里需要注意版本问题, 写成  ‘2.0’ 是不行的,初始化函数在 onmounted 生命周期中执行。

  • AMap存储 这里我做了很多存储,大家知道 .value  的语法是 vue3 获取 ref 的语法,我下面使用到的 都是ref,后面完整代码可以查看, 这里挂载的时候直接存一下,因为很多工具方法都会只用到他,这里后期业务逻辑我会抽离到 pinia中去,所以不需要在初始化函数中写全部的业务逻辑。

  • 模版样式不生效问题, 我们在使用的时候, 就像我之前写的文章,点位新增的时候,我们会插入 content 字符串模版,替换点样式,这里有两种方案修改样式,一种是 插入 DOM ,不使用字符串,然后在 DOM 上通过 style 直接修改样式,另一种就是使用模版的时候直接给 class 类名,但是这种样式如果我们给 vuestyle 加了 scoped 就不会生效,这里大家可以自己灵活选择用哪种,我这里暂时先使用模版的方式,去掉了 scoped

  • 图例, 图例这里除了导入的时候,需要配置一下,使用上来说变化不大,样式的修改还是复用了我之前的逻辑。

import AMapLoader from '@amap/amap-jsapi-loader'const initMap = () => {  AMapLoader.load({    key: 'b59c490f61a694b9d7576dd864f74d6e', // 申请好的Web端开发者Key,首次调用 load 时必填    version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15    plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.MouseTool'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等    Loca:{      version:'2.0.0'    }  })    .then((res) => {            AMap.value = res      // 上来就显示的中心点  北京 116.397, 39.918      var lnglat = new res.LngLat(105, 38)      map.value = new res.Map('container', {        //设置地图容器id        viewMode: '3D', //是否为3D地图模式        zoom: 5, //初始化地图级别        center: lnglat, //初始化地图中心点位置      })      map.value.clearMap() // 清除地图覆盖物      // 地图是否可拖拽和缩放      map.value.setStatus({        dragEnable: true, // 是否可拖拽        zoomEnable: true, // 是否可缩放      })      initWindow()      // 添加一些分布不均的点到地图上,地图上添加三个点标记,作为参照      coordData.forEach(function (marker) {        setMarker(marker)      })      let renderLine = setLine(coordData)      // 设置线      let polyline = renderLine.reduce((prev, item, index) => {        let weight = item.type === 1 ? 5 : 3        let color = item.type === 1 ? headColors[0] : headColors[1]        prev.push(setLines(item.current, color, weight))        return prev      }, [])      map.value.add([...polyline]) // 绘制线      //创建右键菜单      menuInstance.value = new ContextMenu(map.value)      let loca = new Loca.Container({          map:map.value,      });      window._loca = loca;      // 图例, 图例可以实例化多个,使用定位来设置位置      let lengend = new Loca.Legend({          loca: loca,          title: {              label: '管道类型',              fontColor: 'rgba(255,255,255,1)',              fontSize: '16px'          },          style: {              backgroundColor: 'rgba(255,255,255,0.2)',              left: '20px',              bottom: '40px',              fontSize: '12px'          },          dataMap: [              { label: '省级管道', color: headColors[1] },              { label: '县级管道', color: headColors[0] },          ],      });      //修改图例排列方式      document.getElementsByClassName("amap-loca loca-controls")[0].setAttribute('id', 'testid')        var lis = document.querySelectorAll("#testid li");        for (var i = 0; i < lis.length; i++) {          console.log(lis[i]);          lis[i].setAttribute("class", 'test'          );      }    })    .catch((e) => {      console.log('error', e)    })}onMounted(() => {  initMap()})

右键菜单

右键菜单, 右键菜单这里官方给我们的示例是使用一个 函数 进行实例化,里面使用了 this, 所以这个我单独拿出来,首先我们看一下官方的 demo

vue3中如何使用高德地图api

  • 这里使用了一个函数,但这个函数还不是类,但是他却在里面使用了this,实话来讲,这种写法确实不是很优秀,可扩展性很差,不够健壮,但没办法,谁让我们用了人家的东西呢是吧, 在 vue3 中这么用就不可以了,首先 vue3 里面使用 this 就不是官方建议的, 另外这里面还修改了函数原型上的方法,其实我得代码里面一共有两种右键菜单,如下:

vue3中如何使用高德地图api

vue3中如何使用高德地图api
一种是在指定点位上打开,另一种是在非点位的空白处打开,指定点位处打开的其实叫信息窗体,只不过是通过右键的方式触发,那个没有上面这个右键菜单麻烦。

  • 首先来说 this 问题, 这里的 this 实际上就是把我们的实例化对象挂载到上面而已,vue3 中没办法像 vue2 那样使用 this, 但也提供给我们了 api 来获取当前组件的实例化对象, 然后我没用使用函数, 使用了一个类,类构造这个方法, 模版也不适用字符串模版,因为这里字符串模版的事件绑定写死了,我们使用 DOM 来动态绑定事件,代码如下:

const { ctx } = getCurrentInstance()const _this = ctx//自定义菜单类class ContextMenu {  constructor(map) {    var me = _this    //地图中添加鼠标工具MouseTool插件    _this.mouseTool = new AMap.value.MouseTool(map)    _this.contextMenuPositon = null    const fragment = document.createElement('div') // 使用 DOM 方式, 方便添加事件    fragment.className = 'info context_menu'    const p = document.createElement('p')    p.addEventListener('click', this.delMarkerMenu)    p.textContent = '移除上次选中信息'    fragment.appendChild(p)    //通过content自定义右键菜单内容    _this.contextMenu = new AMap.value.ContextMenu({      isCustom: true,      content: fragment,    })    //地图绑定鼠标右击事件——弹出右键菜单    map.on('rightclick', function (e) {      me.contextMenu.open(map, e.lnglat)      me.contextMenuPositon = e.lnglat //右键菜单位置    })  }  delMarkerMenu() {    // 右键菜单上次选中点的信息    clearPoint()    _this.mouseTool.close()    _this.contextMenu.close()  }}

完整代码

<!-- * @Description: 地图 * @Autor: codeBo * @Date: 2023-03-06 16:10:10 * @LastEditors: gjzxlihaibo@163.com * @LastEditTime: 2023-03-07 14:59:08--><template>  <div id="root">    <div>      <h4>添加选点请输入坐标</h4>      <label>        经度:        <input />      </label>      <label>        纬度:        <input />      </label>      <button>输入完成</button>      <button>清空输入</button>    </div>    <div id="container"></div>  </div></template><script setup>import { onMounted, reactive, ref, getCurrentInstance } from 'vue'import AMapLoader from '@amap/amap-jsapi-loader'import { shallowRef } from 'vue'import { coordData } from './data'const map = shallowRef(null)const { ctx } = getCurrentInstance()const _this = ctxconst menuInstance = ref() // menu 实例let AMap = ref() // map 实例let currentPonit = ref<HTMLElement | null>(null) // 存储当前选中点 DOMlet currentData = reactive({}) // 当前选重点信息let sourceInfoWindow = ref()const headColors = ['#3366bb', '#6622FF']// 工具方法// 修改DOM 类名function changeStyle(res, data) {  if (currentPonit.value !== null) {    currentPonit.value.classList.remove('active')  }  currentPonit.value = res.children[0]  currentData = data  currentPonit.value.classList.add('active')}// 清除点信息function clearPoint() {  if (currentPonit.value) {    currentPonit.value.classList.remove('active')  }  currentPonit.value = null  currentData = {}}// 设置线信息function setLines(lnglat, color, weight) {  return new AMap.value.Polyline({    path: lnglat,    // showDir:true ,// 设置线方向    strokeColor: color, // 线颜色    strokeWeight: weight, // 线宽    strokeOpacity: 0.6, // 透明度  })}function markerClick(e) {  console.log('sourceInfoWindow.value', sourceInfoWindow.value, e.target)  sourceInfoWindow.value.setContent(e.target.contents)  sourceInfoWindow.value.open(map.value, e.target.getPosition())}function setInput(e, name) {  let text =    e.target.parentElement.parentElement.children[0].innerText.split(      '供给点',    )[0]  let current = coordData.filter((item) => {    return item.name === text  })  window.localStorage.setItem(text + name, e.target.value)}const initWindow = () => {  // 信息窗体  let infoWindow = new AMap.value.InfoWindow({    offset: new AMap.value.Pixel(0, -10),    retainWhenClose: true,  })  sourceInfoWindow.value = infoWindow  infoWindow.on('open', function (...arg) {    let inputOut = document.getElementById('inputOut')    let inputPro = document.getElementById('inputPro')    inputOut.addEventListener('change', (e) => {      setInput(e, 'inputOut')      window.location.reload()    })    inputPro.addEventListener('change', (e) => {      setInput(e, 'inputPro')      window.location.reload()    })  })}// 抽离点位信息设置function setMarker(marker) {  //创建右键菜单  var contextMenu = new AMap.value.ContextMenu()  //右键放大  contextMenu.addItem(    '放大一级',    function () {      map.value.zoomIn()    },    0,  )  //右键缩小  contextMenu.addItem(    '缩小一级',    function () {      map.value.zoomOut()    },    1,  )  contextMenu.addItem('设置起点', function () {    console.log('设置起点', marker, markerd.dom)    changeStyle(markerd.dom, marker)    contextMenu.close() // 关闭右键菜单  })  contextMenu.addItem('与起点连线', function () {    if (!currentPonit) {      alert('请选择起点')      contextMenu.close()      return    } else {      // 这里其实可以根据数据判定线类型了,因为第二个选中点的信息+和第一个选中点的信息都有了,但是过滤方法会比较复杂      let path = [currentData.position, marker.position]      const polyline1 = setLines(path, '#3366bb', 5)      map.value.add([polyline1])      clearPoint()    }    contextMenu.close() // 关闭右键菜单  })  let content = '<div></div>'  var markerd = new AMap.value.Marker({    map: map.value,    // icon: marker?.icon,    content,    offset: new AMap.value.Pixel(-8, -8),    visible: true, // 点标记是否可见    position: [marker.position[0], marker.position[1]],  })  let inputO = window.localStorage.getItem(marker.name + 'inputOut')  let inputP = window.localStorage.getItem(marker.name + 'inputPro')  // 左键点击的信息窗体, 宽度会在碰触到容器边缘的时候自适应的缩小  markerd.contents = `    <div>${marker.name}供给点</div>    <div>出口压力:<input id="inputOut" value="${      inputO ?? marker?.pointData?.out    }"/>kPa</div>    <div>供给量:<input id="inputPro" value="${      inputP ?? marker?.pointData?.provide    }" />m³</div>    <div>位置:经度${marker.position[0]},纬度${marker.position[1]}</div>`  markerd.data = marker  markerd.on('click', markerClick)  if (marker.name === '新疆') {    // 触发上面的点击事件    markerd.emit('click', { target: markerd })  }  //绑定鼠标右击事件——弹出右键菜单  markerd.on('rightclick', function (e) {    contextMenu.open(map.value, e.lnglat)  })  return markerd}//自定义菜单类class ContextMenu {  constructor(map) {    var me = _this    //地图中添加鼠标工具MouseTool插件    _this.mouseTool = new AMap.value.MouseTool(map)    _this.contextMenuPositon = null    const fragment = document.createElement('div') // 使用 DOM 方式, 方便添加事件    fragment.className = 'info context_menu'    const p = document.createElement('p')    p.addEventListener('click', this.delMarkerMenu)    p.textContent = '移除上次选中信息'    fragment.appendChild(p)    //通过content自定义右键菜单内容    _this.contextMenu = new AMap.value.ContextMenu({      isCustom: true,      content: fragment,    })    //地图绑定鼠标右击事件——弹出右键菜单    map.on('rightclick', function (e) {      me.contextMenu.open(map, e.lnglat)      me.contextMenuPositon = e.lnglat //右键菜单位置    })  }  delMarkerMenu() {    // 右键菜单上次选中点的信息    clearPoint()    _this.mouseTool.close()    _this.contextMenu.close()  }}// 过滤线方法function setLine(arr) {  return arr.reduce((prev, item) => {    if (item?.line) {      prev.push(...item.line)    }    return prev  }, [])}const initMap = () => {  AMapLoader.load({    key: 'b59c490f61a694b9d7576dd864f74d6e', // 申请好的Web端开发者Key,首次调用 load 时必填    version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15    plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.MouseTool'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等    Loca:{      version:'2.0.0'    }  })    .then((res) => {            AMap.value = res      // 上来就显示的中心点  北京 116.397, 39.918      var lnglat = new res.LngLat(105, 38)      map.value = new res.Map('container', {        //设置地图容器id        viewMode: '3D', //是否为3D地图模式        zoom: 5, //初始化地图级别        center: lnglat, //初始化地图中心点位置      })      map.value.clearMap() // 清除地图覆盖物      // 地图是否可拖拽和缩放      map.value.setStatus({        dragEnable: true, // 是否可拖拽        zoomEnable: true, // 是否可缩放      })      initWindow()      // 添加一些分布不均的点到地图上,地图上添加三个点标记,作为参照      coordData.forEach(function (marker) {        setMarker(marker)      })      let renderLine = setLine(coordData)      // 设置线      let polyline = renderLine.reduce((prev, item, index) => {        let weight = item.type === 1 ? 5 : 3        let color = item.type === 1 ? headColors[0] : headColors[1]        prev.push(setLines(item.current, color, weight))        return prev      }, [])      map.value.add([...polyline]) // 绘制线      //创建右键菜单      menuInstance.value = new ContextMenu(map.value)      let loca = new Loca.Container({          map:map.value,      });      window._loca = loca;      // 图例, 图例可以实例化多个,使用定位来设置位置      let lengend = new Loca.Legend({          loca: loca,          title: {              label: '管道类型',              fontColor: 'rgba(255,255,255,1)',              fontSize: '16px'          },          style: {              backgroundColor: 'rgba(255,255,255,0.2)',              left: '20px',              bottom: '40px',              fontSize: '12px'          },          dataMap: [              { label: '省级管道', color: headColors[1] },              { label: '县级管道', color: headColors[0] },          ],      });      //修改图例排列方式      document.getElementsByClassName("amap-loca loca-controls")[0].setAttribute('id', 'testid')        var lis = document.querySelectorAll("#testid li");        for (var i = 0; i < lis.length; i++) {          console.log(lis[i]);          lis[i].setAttribute("class", 'test'          );      }    })    .catch((e) => {      console.log('error', e)    })}onMounted(() => {  initMap()})</script><style>#container {  width: 1350px;  height: 900px;}#root {  display: flex;  width: 100%;}#root > div:first-child {  width: 200px;  margin-right: 10px;  padding: 5px;  box-shadow: 2px 2px 2px 2px #333;}#root > div:first-child {  display: flex;  flex-direction: column;}.context_menu {  position: relative;  min-width: 12rem;  padding: 0;  background-color: white;}.context_menu p {  cursor: pointer;  padding: 0.25rem 1.25rem;}.context_menu p:hover {  background: #ccc;}.btn {  width: 80px;  margin-top: 10px;}.marker-route {  width: 15px;  height: 15px;  background-color: #22ddb8;  border-radius: 10px;}.active {  background-color: #f76809;}.content {  background-color: rgba(0, 0, 0, 0.3);  padding: 1px;  color: white;  display: flex;  align-items: center;}.content span {  display: block;  width: 20px;  height: 20px;  background-color: #3366bb;  margin: 0 10px;}.content p {  margin-right: 10px;}.test {  height: 30px;  box-sizing: content-box;  padding: 2px 10px;  line-height: 30px;  display: inline;  float: left;}.test a {  color: #333 !important;}.test span {  width: 80px !important;  margin-left: 10px;  border-radius: 10px;}.amap-info-content {  background-color: rgba(255, 255, 255, 0.6);}.test_container {  background-color: rgba(255, 255, 255, 0.6);  display: flex;  width: 180px;  flex-direction: column;  padding: 10px 18px 10px 10px;  line-height: 1.4;  overflow: auto;  justify-content: center;  align-items: center;  border: 1px solid rgba(0, 0, 0, 0.2);}.input_inner {  margin-right: 5px;  border: 1px solid #333;  border-radius: 2px;  width: 30px;}</style>

  • 这里的业务逻辑还不完善, 输入部分的交互逻辑没有完成, 这个文件直接引入自己的项目,安装一下上面说过的依赖, 就可以使用,不过这里数据源需要自己根据自己的数据来构造就可以了,我引入的事 data 中的一组假数据,在这里给大家两组看一下

export const coordData = [  {    name: '黑龙江',    position: [127, 47],    pointData: {      out: 100,      provide: 10,    },    line: [      {        current: [          [127, 47],          [126, 43],        ],        type: 1,      },    ],  },  {    name: '吉林',    position: [126, 43],    pointData: {      out: 120,      provide: 11,    },    line: [      {        current: [          [126, 43],          [113, 41],        ],        type: 1,      },    ],  }, ]

  • 后面我会把业务逻辑抽离到 pinia 中, 并且完善ts类型。

“vue3中如何使用高德地图api”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue3中如何使用高德地图api

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue3中如何使用高德地图api

本篇内容介绍了“vue3中如何使用高德地图api”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前置工作在开发之前我们需要了解 vue3 中接
2023-07-05

聊聊vue3中怎么使用高德地图api

在我们使用高德地图的时候,官方给我们推荐了很多案例,demo,但是这些案例都是使用原生方法接入,并没有提供vue或者react 的demo,vue2的 接入网上也很多人都有写过,下面本篇文章就来看看 vue3怎么使用常用的高德地图api,希望对大家有所帮助!
2023-05-14

在vue3项目中如何使用新版高德地图

这篇文章主要讲解了“在vue3项目中如何使用新版高德地图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在vue3项目中如何使用新版高德地图”吧!1. 首先你要注册好账号登录2. 获取key和
2023-07-05

vue项目中如何使用高德地图

这篇文章主要介绍“vue项目中如何使用高德地图”,在日常操作中,相信很多人在vue项目中如何使用高德地图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目中如何使用高德地图”的疑惑有所帮助!接下来,请跟
2023-07-05

uniapp小程序如何使用高德地图api实现路线规划

今天小编给大家分享一下uniapp小程序如何使用高德地图api实现路线规划的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。路线
2023-07-04

在vue3项目中使用新版高德地图的完整步骤

项目需求需要引入地图,对于目前最新的Vue3.0,无论是百度/高德/腾讯地图目前还没有适配,只有Vue 2.x版本的: 目前只有谷歌地图的Vue3.0适配,下面这篇文章主要给大家介绍了关于如何在vue3项目中使用新版高德地图的完整步骤,需要的朋友可以参考下
2023-02-27

Vue如何接入高德地图

这篇“Vue如何接入高德地图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue如何接入高德地图”文章吧。Vue接入高德地图
2023-07-02

Vue如何开发高德地图应用

这篇文章主要为大家展示了“Vue如何开发高德地图应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue如何开发高德地图应用”这篇文章吧。异步加载因为使用 js sdk 应用,脚本文件本身体积很
2023-06-20

vue如何利用openlayers加载天地图和高德地图

这篇文章给大家分享的是有关vue如何利用openlayers加载天地图和高德地图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、天地图部分1、在vue中安装openlayersnpm i --save ol这里
2023-06-25

vue怎么使用原生高德地图

本篇内容主要讲解“vue怎么使用原生高德地图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么使用原生高德地图”吧!1、先在vue项目根目录下新建vue.config.js,这个文件是没有
2023-06-29

如何在Html5中获取高德地图定位天气

本篇文章给大家分享的是有关如何在Html5中获取高德地图定位天气,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。创建一个AMap.js文件// AMap.js// 高德map
2023-06-09

uniapp使用高德地图的超详细步骤

使用uni-app框架开发微信小程序,可以使用高德地图开发地图选点、搜索位置、定位、获取详细的地址信息、码值等信息,下面这篇文章主要给大家介绍了关于uniapp使用高德地图的超详细步骤,需要的朋友可以参考下
2022-12-08

vue3中常用的API如何使用

这篇文章主要介绍了vue3中常用的API如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue3.x已经发布了这么久,相关的生态也慢慢起来了,包括vite这个新的打包工
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录