简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
使用自定义指令v-drag实现鼠标拖拽功能。鼠标按下时获取获取鼠标在元素上的位置,每次移动时不断计算和设置元素左上顶点坐标位置,并且在鼠标松开时要禁用掉down的监听事件,否则会一直执行。知道了鼠标的相对位置,后续的鼠标移动,只要知道移动后的鼠标坐标,就能很容易的把当前位置元素的左上顶点坐标算出来。在组件中使用directives注册一个自定义拖拽指令v-drag,在想要拖动的元素上使用“v-dr
vue3+vite项目中封装并使用svg图标。项目中有很多地方需要用到svg图标,Element Plus 组件库提供了一套常用的图标,但是往往不能满足需求,而网上比较全的就是阿里图标库,本文就来介绍下如何将阿里图标库中的svg引入到自己的项目中。本文的项目使用vue3+vite来构建,可以使用第三方的vite-plugin-svg-icons插件,来引入svg图标。
参考依据是威尔逊等将Three.js与Cesium集成的文章,链接地址:https://www.cesium.com/blog/2017/10/23/integrating-cesium-with-threejs/注意,threejs和ceiusm结合会有版本问题,具体可以参考https://blog.csdn.net/u011540323/article/details/103522075。通过
vue实现文件下载。最近项目遇到一个需求,每次都需要根据检索条件将后端请求到的数据在前端进行表格的动态生成展示,并能够点击按钮,实现文件的下载功能,导出为Excel表格。文件下载功能通过向后端发送特定的请求参数来获取相应文件,使用ResponseType Blob来实现文件下载。创建一个a标签,并设置其href属性为一个包含Blob对象的URL,然后模拟用户点击该链接的行为,就可以触发文件下载功能
参考依据是威尔逊等将Three.js与Cesium集成的文章,链接地址:https://www.cesium.com/blog/2017/10/23/integrating-cesium-with-threejs/注意,threejs和ceiusm结合会有版本问题,具体可以参考https://blog.csdn.net/u011540323/article/details/103522075。通过
three.js中使用requestAnimationFrame来实现动画的渲染,而不使用setInterval实现。requestAnimationFrame告诉浏览器希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。通俗点讲就是该API的调用频率取决于浏览器的刷新率,也就是说浏览器屏幕刷新多少次
讲到Three.js,就需要先说一下OpenGL和WebGL,OpenGL是一个跨平台的3D/2D的绘图标准,WebGL是一种3D绘图协议,它允许把JavaScript和OpenGL 结合在一起运用,但使用WebGL原生的API来写3D程序非常的复杂,对于前端开发者来说学习成本非常高。Three.js是WebGL的JavaScript 3D库,其对WebGL提供的接口进行了非常好的封装,简化了很多
Promise是一种异步编程的解决方案,它代表一个尚未完成但预期将来会完成的操作,并可以在这个操作完成或失败时处理相应的结果。Promise出现之前,JavaScript的异步机制主要通过回调函数来实现,但使用回调函数的方式有一个缺点:多个回调函数嵌套时会造成回调函数地狱。Promise 提供了一种更清晰和结构化的方式来编写和管理异步代码,避免了“回调地狱”(callback hell)的出现。简
继承,简单来讲就是让子类能够访问到父类的属性和方法,继承的主要作用就是实现代码的重用。在JavaScript中,主要通过原型链来实现继承。我们重温一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个指针指向原型。上篇文章中我们已经了解了原型和原型链的概念,本文就来介绍一下js中实现继承的几种方式。
当我们处理JavaScript中的数据时,深拷贝和浅拷贝是两个非常重要的概念。它们涉及如何复制对象和数组,以及如何处理复杂数据结构。在这篇博客中,我们将深入探讨深拷贝和浅拷贝的概念,解释它们的区别以及如何在JavaScript中实现它们。