【踩坑记】2024年上半年开发踩坑实录!

现象:Vue项目中个别页面渲染非常缓慢,而其他页面渲染正常

原因:该页面在watch中调用了递归函数。问题代码如下

js 复制代码
watch: {
  customTreeList: {
     handler(newVal){
       const treeData = newVal;
       this.circleUserTree(treeData);
       this.deptTreeList = treeData;
     },
     deep: true,
   }
}

解决:在watch里禁用了递归函数后,页面渲染正常了。

另外,笔者使用以下写法也会造成页面性能问题甚至死循环,即:

html中v-if="getSpeShow()" + watch中调用getSpeShow()

最终笔者在v-if中使用变量而非直接使用getSpeShow()才解决问题。

现象:开发的系统链接在企业微信聊天框中不能显示缩略图

解决:在网站网页 html代码中的之后增加需要的缩略图图片。

js 复制代码
 <body>
    <div style="visibility:hidden;height:0;width:0;">
      <img src="/image/logo-300.jpeg" style="width: 300px; height: 300px;"/>         </div>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
 </body>

注意事项:

1、这个图片尺寸不能太小,在300*300以上就可以了。

2、图片放到body之后,微信应该会默认取页面中第一张图片

3、用JPG图片,如果格式是png的,微信朋友圈可能会直接把他忽略了。

4、width和height都设为0,style不能设置为display:none,可设置为visibility:hidden。

5、图片地址应为绝对路径。

现象:Vue中使用window.onresize无效

原因:父子组件里均使用了window.onresize,导致后面将之前的所覆盖。

解决:使用window.addEventListener() 即可,代码如下:

js 复制代码
mounted:{
   // 绑定resize
  window.addEventListener('resize', ()=>{
  })
},
destoryed:{
   // 解绑resize
   window.removeEventListener('resize', ()=>{     
   })
}

现象:el-select组件下拉框跟随页面滚动

原因:el-select组件的popper-append-to-body属性值默认为true

解决:将popper-append-to-body属性设置为false可以让下拉框不跟随页面滚动。但是如果el-select组件在el-dialog中使用,则单独使用popper-append-to-body属性设置无效,需结合css样式使用:

js 复制代码
<el-select class="common-select" :popper-append-to-body="false"></el-select>

.common-select {
  .el-select-dropdown {
    position: absolute !important;
    top: 32px !important;//选择框的高度
  }
}
复制代码
相关推荐
敲厉害的燕宝9 分钟前
【若依前后端分离】通过输入用户编号自动带出部门名称(部门树)
javascript·vue.js·elementui
嘻嘻哈哈1722 分钟前
vue安装+测试
前端·javascript·vue.js
大学生小郑28 分钟前
VUE与React的生命周期对比
前端·vue.js·react.js
JerryXZR33 分钟前
Angular基础保姆级教程 - 1
前端·javascript·angular.js
金灰34 分钟前
14-Django项目--文件上传-Excel
服务器·前端·javascript
inksci40 分钟前
用 Echarts 画折线图
前端·javascript·html·echarts
子洋1 小时前
Leafer 开发小游戏 - 拼图
前端·游戏开发·canvas
JUANのWEB1 小时前
【WEB前端】---HTML---结构---笔记
前端·笔记·html
夏花里的尘埃3 小时前
vue3实现echarts——小demo
前端·vue.js·echarts
努力学习的木子4 小时前
uniapp如何隐藏默认的页面头部导航栏,uniapp开发小程序如何隐藏默认的页面头部导航栏
前端·小程序·uni-app