随笔分类 - javascript
摘要:vue3中如果是父子或者父孙组件,则利用provide, inject来进行数据传参,并且可各个组件都可以修改。(或者利用传统的一级一级传参props传参) 如果不是父子组件,而且兄弟等组件,则利用发布订阅等类似于eventBus的方式来进行传参rxjs。 当然还有vuex(可以状态保存)。 如果是
阅读全文
摘要:const chatbox = ref(); const dragx = (el) => { let oDiv = chatbox.value; //当前元素 let disX = el.clientX - oDiv.offsetLeft; let disY = el.clientY - oDiv.
阅读全文
摘要:前言: 在项目中,我们会遇到这样的情况,我们在一个组件中,想实现一个弹框(模态框),但是这个弹框我们想全屏,这样的话,需要把弹框的父元素设置为body, 这个怎么实现呢? vue3 实现方法: <button @click="modalOpen = true"> Open full screen m
阅读全文
摘要:async _getTopology() { let { data } = await getTopology(); if (data && data.accountInfoList && data.accountInfoList.length) { data.nodes = (data && da
阅读全文
摘要:背景: 类似于如下的表单的形式,如果我们提前知道了表单的key,那么我们就可以通过正常的处理表单形式,完成相关数据的获取。 但是,如果我们事先不知道表单的属性key值及对应的输入框还是select框, 那我们就得选择其他方式处理。 步骤一:首先,我们约定,后台返回的格式如下: 其中,code字段的具
阅读全文
摘要:实现3D边界效果的省市区域图 ,我们可以按照高德地图提供的3D绘图方式来进行实现,大致分为如下几个步骤: 1、绘制地图底图。 2、设置光照 3、设置平行光源 4、添加Object3DLayer 专门承载 Object3D对象的图层 5、搜索行政区域获取行政边界。 6、正式绘制3D图形。 具体可参考官
阅读全文
摘要:我们常需要利用高德地图在地图图层上面绘制文本、maker等内容,有必要小结一下; 情形一:绘制纯文本 封装方法如下: addText( textData, style = { "font-size": "12px", color: "#fff", backgroundColor: "transpar
阅读全文
摘要:项目中经常会遇到pdf的下载和预览的功能,那么我们该如何实现呢? 前提1:后台返回的是文件地址(非文件流) 下载: <a href="/1.pdf" target="_blank" download>下载</a> 加上download即可。 预览: <a href="/1.pdf" target="
阅读全文
摘要:一、目的: 1、key的作用主要是为了高效的更新虚拟DOM。(此类原理可查看各类文档) 2、防止不必要的bug出现。 二、如果使用index作为key来使用,会出现bug情形。 如果仅是为了高效更新DOM,可能人们不会在意,殊不知,使用index作为key,还会出现bug,如下情景会有bug。 情形
阅读全文
摘要:{ title: "核算项", dataIndex: "hesxName", key: "hesxName", align: "center", customRender: (text, record, index) => { const obj = { children: text !== nul
阅读全文
摘要:1、方法一: map.clearOverlays(); 2、方法二: 对应一些你自定义的覆盖物(比如maker 加波纹效果),上面那个方法有时候不管用,需要你遍历,逐一清除覆盖物,代码如下: let allOverlayList = map.getOverlays(); //循坏所有点 for (v
阅读全文
摘要:一、失效原因: 如果多级路由的话,一般会有一个空白的router-view页面做为公共的模板充当中间的嵌套路由/页面;当你切换不同的页面,中间公共部分的组件,一会儿缓存,一会儿不缓存,因为是公共组件,导致了 最终的页面缓存失效。 二、解决办法: 目前我认为只有将三级路由转为二级路由来解决比较靠谱;
阅读全文
摘要:deepClone(obj) { let objClone = Array.isArray(obj) ? [] : {}; if (obj && typeof obj "object") { for (let key in obj) { if (obj[key] && typeof obj[key]
阅读全文
摘要:let obj = { name: 'zj' } let newObj = new Proxy(obj, { get(target, keys) { return (params) => { return target[keys] + params } } }) console.log(newObj
阅读全文
摘要:1、迭代器 可以看出数组和字符串默认已经部署了iterator接口,只要部署了,我们调用接口,返回遍历器对象,然后执行next() 方法即可实现一个个获取数据中的元素!!! 2、生成器 从上面的案例可以看出,生成器的作用就是一下一下出结果,而不是一下子把所有的结果都拿出来。一个很重要的作用就是可以控
阅读全文
摘要:1、先看几个现象: 从图示的结果来看,我们会得出以下结论: (1) “与运算符 &&“ 的目的或者说结果是返回第一个表达式或者变量为 false 的值,如果没有,则返回最后一个表达式或者变量的值 。(遇假则停,以防报错!!) (2) “或运算符 || “ 的目的或者说结果是返回第一个表达式或者变量为
阅读全文
摘要:前提: 在开发环境下,axios.defaults.baseURL = '', 即不设置axios的前缀 ! 方法一: 这个是接口在开发环境中的接口形式,以/api 形式开头。 然后vue.config.js 配置如下 module.exports = { publicPath: '', // 为空
阅读全文
摘要:小结: 类似于这种层级嵌套的数据结构,如果想找到某一个值,则需要用到递归的思想; 同时,需要注意的是子级的数据需要返回,见红色部分。
阅读全文
摘要:以下是html中使用es6模块化引入的方法 一、html中的引入 注意:要加上 type="module" !!!并且配置好本地服务器访问html 。 如果是npm 下载后的包(node_modules),则貌似无法直接通过import ‘引入’ ,需要webpack的配置?? 二、js文件中的写法
阅读全文
摘要:前言:js 中仅有的几个全局函数中,有两个全局函数可以用来编码url 字符串。 一、encodeURIComponent() 将转义用于分隔 URI 各个部分的标点符号 ,也就是可以编码 ":", “//”, 汉字, “?” 等各标识。 二、encodeURI() 经过测试,仅仅可以编码url中的
阅读全文