记录下偶尔用到的代码片断,用得少记不住
一、VUE的事件获取默认值和传参一起
二、数组对象更新不想用$set的时候,使用下面代码强制刷新下就好
三、页面定时器如果在destroyed()销毁页面的时候清除定时器,会难以维护
四、苹果新版ios系统在微信浏览器中长按图片会出现拖动事件,会使opacity透明的图片显示出来,常用的是隐藏的带二维码的海报长按保存时出现拖动了。禁止图片拖动事件就好了
JS原生写法,给img标签加上下面代码
VUE写法
五、苹果ios微信H5里父级设置border-radius圆角后overflow: hidden失效的问题,父元素设置以下两个CSS属性
@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);