当前位置: 首页 > news >正文

动态加载js链接、异步传参加载组件、有趣打印

动态加载js链接

  • 动态加载js链接
  • 异步加载组件

动态加载js链接

function loadAMapApi (options:any) {if (typeof document === 'undefined') {// 只在浏览器环境加载return}if (typeof (<any>window).AMap === 'undefined') {if (typeof options !== 'object') {console.error('You should specify parameters for the AMap')return}options['callback'] = 'vAMapInitByFlightadsb'let baseUrl = 'https://***.***.com/'let _scriptTab = document.createElement('script')let url = baseUrl + 'maps?' + Object.keys(options).map(key => {return encodeURIComponent(key) + '=' + encodeURIComponent(options[key])}).join('&')_scriptTab.setAttribute('src', url)_scriptTab.setAttribute('async', '')_scriptTab.setAttribute('defer', '')_scriptTab.setAttribute('charset', 'utf-8')document.head.appendChild(_scriptTab)} else {console.error('Has loaded the AMap!')}
}

异步加载组件

main.ts

import vAMapPlugin from '@/plugins/amap'
// 异步加载高德地图
Vue.use(vAMapPlugin, {v: '1.4.10',key: 'YOU_TOKEN'
})

plugins/amap.ts

function getLoadMapPromise (options:any):Promise<any> {if (typeof window === 'undefined') {return new Promise(() => {}).then(() => {console.log('there is not window object')})} else {const onGMapLoaded = () => {console.log('%cHello! The AMap API has been downloaded!', 'color: #37ba1d;font-weight: 700;')}// resolve赋值给 高德地图下载完成执行回调return new Promise((resolve, reject) => {(<any>window).vAMapInitByFlightadsb = resolveloadApiOfAMap(options)}).then(onGMapLoaded)}
}
function installVAMapPlugin (Vue:any, options?: any):void {let loadPromise = getLoadMapPromise(options)// 混入到Vue对象里,方便全局调用 全局函数Vue.mixin({created () {this.$aMapLoadedPromise = loadPromise}})//公共组件Vue.component('a-map', Map)Vue.component('a-tile-layer', TileLayer)
}
// 注册一个vue插件
const VAMapPlugin = {install: installVAMapPlugin
}
export default VAMapPlugin
      console.log('%cHello! The AMap API has been downloaded!', 'color: #37ba1d;font-weight: 700;')
http://www.dtcms.com/a/389824.html

相关文章:

  • 【Python】Python异常、模块与包
  • 第三方网站系统测试:【基于Pytest的自动化测试框架的测试】
  • 每个 SIwave 求解器的正确激励
  • 给 C++ Protobuf“装上 Abseil”版本确认、Bazel/CMake 实战与避坑
  • Java 大视界 -- Java 大数据在智能物流运输车辆智能调度与路径优化中的技术实现
  • 电脑中的32位和64位
  • 如何免费使用AWS服务器?AWS Free Tier免费套餐申请与避坑指南
  • QML界面调用C++层阻塞函数,如何不卡界面
  • JVM GC 调优:GC 问题发现工具,五大 GC 异常模式,四大调优方案与案例实战
  • Excel处理控件Aspose.Cells教程:如何使用Python在Excel中创建下拉列表
  • React 18.2中使用Redux 5.0.1
  • 程序开发的基本规律
  • Day26_【深度学习(6)_神经网络NN(1.1)激活函数_softmax详解篇】
  • 通过调用deepseek大模型接口对千条评论信息进行文本分析/词频分析/情感分析
  • 攻坚家电代工转型痛点|远望电器牵手盘古信息,以IMS重塑数字制造根基
  • SpringBoot实现Markdown语法转HTML标签
  • DeepSeek:大语言模型在中文生态中的技术突破与应用探索
  • 【Agent博客分享】从多Agent问题到新的上下文工程方法
  • 点云分割中 offset 与 batch 表示的转换详解
  • C++23 堆栈跟踪功能实战:从内存泄漏梦魇到一键定位的调试革命
  • jvm参数调优(持续更新)
  • 容器查看日志工具-stern
  • 衍射光学元件DOE:台阶高度与位置误差的测量
  • Java中对象/嵌套对象属性复制工具类使用示例:Hutools工具类BeanUtils使用示例
  • rust编写web服务02-路由与请求处理
  • Spring Cloud - 微服务限流的方式
  • 【智能系统项目开发与学习记录】ROS2基础(1)
  • 人工智能面试题:什么是CRF条件随机场
  • [x-cmd] 命令式交互、CLI/TUI 设计与 LLM
  • 基于AMBA总线协议的Verilog语言模型实现