获取svg的宽度高度 let width = svg.style.width //失效let width = svg.offsetWidth //失效let width = svg.offsetWidth //失效let width = svg.getBBox() //失效let width = svg.getBoundingClientRect().width //有效
addEventListener重复绑定事件问题 原本用的addEventListener一直在同一个节点多次绑定了事件试了用removeEventListener也没办法解绑不清楚具体是什么原因最后换了种方式node.onclick = function() { twicePopup(4) };//ts写法:可能会判断node不属于HTMLElement类型,加个as(类型断言)(node as HTMLElement).onclick = function() { twicePopup(4) };用该方法不会出现绑定多次的问题...
addEventListener绑定事件,立即触发问题 原来的写法Node.addEventListener('click', twicePopup(1));更改后的写法Node.addEventListener('click', function() { twicePopup(1)});缺少function() {}需要传递对twicePopup函数的引用
js中insertAdjacentHTML的用法 //一个参数 beforebegin:开始标签前, beforeend:开始标签后, afterbegin:结束标签前, afterend:结束标签后//第二个参数 需要插入的内容 this.element.insertAdjacentHTML("afterbegin", '<div></div>'); ...
js中insertAdjacentHTML的用法 //一个参数 beforebegin:开始标签前, beforeend:开始标签后, afterbegin:结束标签前, afterend:结束标签后//第二个参数 需要插入的内容 this.element.insertAdjacentHTML("afterbegin", '<div></div>'); ...
ERROR in ./src/main.ts Module not found: Error: Can‘t resolve ‘xxx‘ ERROR in ./src/main.ts Module not found: Error: Can’t resolve ‘xxx’找不到.ts模块需要在webpack.config.js内进行配置即可resolve: { //文件扩展名需要添加ts extensions: ['.ts', '.js'], },定义后对外暴露引入并应用...
ERROR in ./src/main.ts Module not found: Error: Can‘t resolve ‘xxx‘ ERROR in ./src/main.ts Module not found: Error: Can’t resolve ‘xxx’找不到.ts模块需要在webpack.config.js内进行配置即可resolve: { //文件扩展名需要添加ts extensions: ['.ts', '.js'], },定义后对外暴露引入并应用...
高德地图基础代码优化 地图渲染矢量图形或标记heatingStationPoints.polygon.forEach( //循环在地图上新增多边形 (item: any) => { let polygon = new AMap.Polygon({ ...item, //此处不用加map: map }); //不用在此处单个添加map.add() if (polygon) coverageAreaData.allData.pus
vite打包配置(gzip、文件分类等) import compressPlugin from "vite-plugin-compression"; //静态资源压缩import legacyPlugin from '@vitejs/plugin-legacy'; //浏览器兼容export default defineConfig({ plugins: [ vue(), compressPlugin({ //gzip静态资源压缩 verbose: true, // 默认即可 disable: f
浏览器中performance的基本使用 1.最上面一排为控制按钮2.overview:FPS、CPU、NET3.火焰图:CPU的可视化(各种事件、各种network请求详情)4.统计数据:summary:统计报表,Bottom-Up:事件时长顺序,Call Tree:事件调用顺序,Event log:事件发生的先后顺序基本使用:选中加载时长的task在下面事件调用顺序处查看耗时最长的事件下面右侧可查看事件调用顺序找出耗时最长的事件,cv到代码中进行优化...
[VuetifyLoaderPlugin Error] No matching rule for vue-loader found Vuetify 采坑原本正常启动服务,写代码,但后来关闭服务重启后,报错,如下:排查好久,上网也查了许多资料,最后自行解决:在使用vue add vuetify后vue.config.js会自动生成,并附加配置,但第二次启动服务会报错(不确定具体因为什么报错,但需要更改这里配置)const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')module.exports = { configureWebpack: functi
获取、修改节点属性值,更改iframe路径方法及其配置 获取、修改节点属性值$(".news_list_firmInfo_go_detail").click(function () { let fullPathInfo = $(this).attr("fullPath"); //获取点击节点的属性值 $(".news_list_all")[0].style.display = "none"; $(".news_list_detail")[0].style.display = "block"; $(".news_list_det
js实现复制粘贴 <span class="logistics_tracking_order_data">LVS2016933302522732N12</span><img onclick="copyText()" src="./image/copy.png" >// 复制粘贴function copyText() { let oInput = document.createElement("input"); let copyData = document.quer
jquery实现标签样式切换,以及切换显示不同内容 标签样式切换$(".product_core_info_row").click(function () { //点击列表集合,切换不同标签并显示样式 $(this) .addClass("product_core_info_row_active") //添加已设置好的样式,在html中先添加一个默认的 .siblings() .removeClass("product_core_info_row_active"); });切换显示不同内容let liL
Vue3中postcss的安装及配置 安装postcss-pxtoremnpm install postcss-pxtorem -D在根目录下创建postcss.config.jsmodule.exports = { "plugins": { "postcss-pxtorem": { rootValue: 37.5, // Vant 官方根字体大小是 37.5 propList: ['*'], selectorBlackList: ['.norem'] // 过滤掉.norem-开头的cl
Host key verification failed.(Git 主机密钥验证失败),GitHub配置公钥 每个计算机可以生成多个公钥,每次生成公钥后都会被覆盖,出这个错应该就是GitHub上没公钥,需要重新将公钥复制到GitHub上首先生成公钥步骤1 先配下个人的用户名和邮箱。命令:git config –global user.name “username”git config –global user.email “643578753@qq.com”2 可通过命令git config -l查看配置的用户名和邮箱。3 生产公钥。ssh-keygen -t rsa输入完这个命令后,会有两个步
js 方法截取url中路径信息,并将其转为对象(为加密专用,防止url中的val中出现=或&) 思路:&永远会比=少,先取第一个=的下标存到数组中。然后再继续找所有&的下标存到数组中(&不太会出现在val中,所以这里是以&为标准)。再寻找所有出现在&后第一个=,并将其存到之前放=的数组中。获取到了他们的下标后就好办事了,下面的看代码就行。直接套用此方法即可不是很简洁,可以看思路,有更好的方法可以评论告诉我,或者将博客地址发我!urlDecode(url) { //传入参数格式为url中"?"后面部分console.log(url);let d
Vue性能方面优化 (1)代码层面的优化v-if 和 v-show 区分使用场景computed 和 watch 区分使用场景v-for 遍历必须为 item 添加 key,且避免同时使用 v-if(v-for优先级更高)长列表性能优化(Object.freeze())事件的销毁图片资源懒加载(vue-lazyload)路由懒加载第三方插件的按需引入(babel-plugin-component)优化无限列表性能(vue-virtual-scroller)服务端渲染