记录下偶尔用到的代码片断,用得少记不住

一、VUE的事件获取默认值和传参一起
@click="funName($event , ...参数)"


二、数组对象更新不想用$set的时候,使用下面代码强制刷新下就好
this.$forceUpdate()

三、页面定时器如果在destroyed()销毁页面的时候清除定时器,会难以维护
 data() {
    return {
      timer: null,
      num: 1,
    }
  },
  
  mounted() {
     this.timer = setInterval(() => {
        console.log('定时器加1', this.num++)
      }, 1000)
  },
  destroyed() {
    clearInterval(this.timer)
  },
使用hook:destroyed可以把清除定时器代码写在一起,注释定时器的时候可以方便一起注释了
methods: {
    startTimer() {
      this.timer = setInterval(() => {
        console.log('定时器加1', this.num++)
      }, 1000)
      //直接在这写清除定时器方便维护
      this.$once('hook:destroyed', _ => {
        clearInterval(this.timer)
      })
    },    
  },


四、苹果新版ios系统在微信浏览器中长按图片会出现拖动事件,会使opacity透明的图片显示出来,常用的是隐藏的带二维码的海报长按保存时出现拖动了。禁止图片拖动事件就好了

JS原生写法,给img标签加上下面代码
ondragstart="return false"

VUE写法
<img  @dragstart="dragstartFn" />

dragstartFn(e) {
   e.preventDefault()
   return false
},



五、苹果ios微信H5里父级设置border-radius圆角后overflow: hidden失效的问题,父元素设置以下两个CSS属性
-webkit-backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);




暧昧贴