+
96
-

回答

为了防止多次点击而造成多次跳转,这就需要用到节流这个函数

在utils新建文件throttle.js

// 节流:触发函数事件后,短时间间隔内无法连续调用,只有上一次函数执行后,过了规定的时间间隔,才能进行下一次的函数调用。
export function throttle(fn, gapTime) {
if (gapTime == null || gapTime == undefined) {
gapTime = 1500
}

let _lastTime = null

// 返回新的函数
return function() {
let _nowTime = +new Date()
if (_nowTime - _lastTime > gapTime || !_lastTime) {
fn.apply(this, arguments) //将this和参数传给原函数
_lastTime = _nowTime
}
}
}
开始使用
<template>
<view class="demo-warter" @click="goodUrl">
</view>
</template>

<script>
import { throttle } from "@/utils/throttle.js"; //引入节流函数
export default {
data() {
return {
};
},
methods: {
goodUrl:throttle(function(){
uni.navigateTo({
url: '/pages/demo/demo'
});
}),
}
};
</script>


网友回复

我知道答案,我要回答