js文件里导出
export function throttle (fn, delay) {
// 利用闭包保存时间
let prev = Date.now()
return function () {
let context = this
let arg = arguments
let now = Date.now()
if (now - prev >= delay) {
fn.apply(context, arg)
prev = Date.now()
}
}
}
组件内引用
import { throttle } from '../../assets/js/throttle.js'
methods中使用
routerPush: throttle(function(data, index){
if(data === "index") {
window.top.postMessage(
{
data: {code: 1, msg:'返回首页'},
from: `${window.location.origin}${window.location.pathname}`,
to: "*",
type: "GET_USER",
checkCode: new Date().getTime(),
},
"*"
);
}else if(this.navList.length && index < this.navList.length-1) {
this.$router.go(-1)
}
},1000)
//routerPush是否触发的事件,data,index是routerPush中的参数