10月工作经验总结

简介: 10月工作经验总结

1. localStorage跨域问题


问:如果我在百度首页将变量存入localStorage,那么跳转到新浪首页还能拿到之前在百度存的变量吗?

不可以,localStorage也存在跨域问题,但是有解决方法,如有A、B两个页面,可以让B请求A域,或找一个第三域C,来和AB连接,不多赘述。

2.CSS发光效果


盒子发光:box-shadow


box-shadow: 0 0 2px #1e82be, 0 0 3px #1e82be, 0 0 4px #1e82be, 0 0 5px #1e82be;

文字发光:text-shadow

text-shadow: 0 0 2px #1e82be, 0 0 3px #1e82be, 0 0 4px #1e82be, 0 0 5px #1e82be;

3.项目本地运行正常,部署上线报错


61986fe19c4e4f11aaa57f1260942d42.png

原因:


经过排查,原因是ElementUI.js的版本问题,

我开发环境是2.13版本

生产是2.19版本

解决:


只要下载2.13版本放到生产环境就好了

一定要排查的是,如果本地开发正常,那么线上的版本要换成本地的版本。

4.修改elementUi的input的placeholder样式


1. ::v-deep .place .el-input__inner {
2.   &::placeholder {
3.     color: red;
4.   }
5. }

5.字符串和数组之间的相互转换


join:数组转字符串


[1].join("")
//'1'
[1,2,3].join("")
//'123'
[1,2,3].join(',')
//'1,2,3'

split:字符串转数组


"1,2,3".split("")
//['1', ',', '2', ',', '3']
"1,2,3".split(",")
// ['1', '2', '3']
"1".split(",")
//['1']

6.ElementUI的bug


修改鼠标经过table时的背景颜色。如果上面有fixed属性会导致问题(鼠标经过和其他)属性互斥,去掉就好了

7.禁止emelemntUI 抽屉组件点击空白关闭


:wrapperClosable="false"

8.el-popover 样式修改


el-popover 样式修改 通过popper-class绑定自定义类名popperOptions修改

<el-popover
      width="300"
      trigger="hover"
      popper-class="popperOptions"
      placement="top-start"
   >
     <div class="operate-btn"  slot="reference">
       <el-badge :value="12" class="item">
         <i class="icon el-icon-chat-line-round"></i>
       </el-badge>
     </div>
     <span slot="default">
       你有99条未读消息,请及时查看
     </span>
 </el-popover>

9.登录页背景图自适应屏幕且不出现滚动条


  min-height: 100%;
  width: 100%;
  overflow: hidden;
  background-image: url("~@/assets//common/bjlogo.png"); // 设置背景图片
  background-position: center; //从中间开始渲染
  background-size: cover;// 将图片位置设置为充满整个屏幕
  background-repeat: no-repeat;//不平铺

几种方式:1.background-size: 100% 100%;图片容易变形


2.background-size: 100% auto;比第一种好一些,但是随着屏幕变化会出现留白


3.background-size: contain;保持图片的宽高比例,不会变形,但是有可能导致留白


4.background-size: cover;相对来说比较好的方式,不会变形,不会留白,有可能导致图片显示不完全。

image.png

10.鼠标右键阻止默认行为,自定义右键菜单


mounted () {
    let that = this
    // 注意 取消默认行为 我们鼠标右键的时候 一般是弹出 浏览器的 属性 刷新等等的那个菜单
    // 阻止默认行为 就没有那个菜单出来了
    document.addEventListener('contextmenu', function (e) {
      e.preventDefault()
      that.anQuanSeach()
    })
  },

11.使用函数(js)来写样式


:style="nodeContainerStyle"  //template模板
// 节点容器样式   method
    nodeContainerStyle () {
      let border = '#1879ff'
      if (this.node.type == 'choices' || this.node.type == 'Choices') {
        border = "#1879ff"
      } else {
        border = "#36ae53"
      }
      return {
        top: this.node.top,
        left: this.node.left,
        borderColor: border
      }
    },

12.刷新页面


之前最常用的是this.$router.go(0),但是此类方法会导致URL刷新时闪烁且用户体验极差,但是但是,这个是强刷新,之前我使用three.js需要刷新,结果我下面介绍的方法竟然刷新不了,还是这个刷新的。

以下是我使用最多的方式,用户体验好,vue2和vue3通用,修改简单:

在你的app.vue页面内(如果你的根组件不叫这个,那就找你的路由出口)

按照以下方式设置:

<template>
  <div id="app">
    <router-view v-if="isRouterAlive" />
  </div>
</template>
<script>
export default {
  name: 'App',
  provide () {
    return {
      reload: this.reload
    }
  },
  data () {
    return {
      isRouterAlive: true
    }
  },
  methods: {
    reload () {
      this.isRouterAlive = false
      this.$nextTick(function () {
        this.isRouterAlive = true
      })
    }
  }
}
</script>

然后就可以在任意一个组件内这样使用:

1. inject: ['reload'],
2.   data () {
3.    return {}
4.   },
相关文章
|
5月前
|
数据建模
技术经验解读:ZVS振荡电路工作原理分析
技术经验解读:ZVS振荡电路工作原理分析
100 1
|
前端开发 测试技术 程序员
程序员成长第八篇:做好测试工作
程序员成长第八篇:做好测试工作
216 0
|
运维 监控 前端开发
带团队后的日常思考(十一)
带团队后的日常思考(十一)
|
存储 编解码 监控
带团队后的日常思考(十二)
带团队后的日常思考(十二)
阿里抱真:工作7年,我的10条经验总结
阿里抱真:工作7年,我的10条经验总结
393 0
|
前端开发 JavaScript 网络安全
工作中遇到的问题和一些经验总结
工作中遇到的问题和一些经验总结
工作中遇到的问题和一些经验总结
html+css实战163-工作场景
html+css实战163-工作场景
108 0
html+css实战163-工作场景
html+css实战129-准备工作
html+css实战129-准备工作
86 0
html+css实战129-准备工作
|
开发框架 前端开发 Java
测开要做的开发工作到底是做什么
科普测试开发工作内容
534 0
工作7年,我的10条经验总结
作者是一名很普通的技术工程师,从14年毕业到现在工作了7年。本文将与大家分享一些在职场中的道理和经验,希望能对大家有所启发和帮助。
工作7年,我的10条经验总结