위 챗 애플 릿 BindTap 빠 른 연속 으로 대상 페이지 를 클릭 하여 여러 번 문 제 를 처리 합 니 다.
1)wxml 세 션
<view bindtap="loadMulti">
<text> , </text>
</view>
<view bindtap="loadOnce">
<text> , </text>
</view>
2)js 코드 세 션
loadMulti:function(e) {
wx.navigateTo({
url: '/pages/loadMulti/index',
})
},
3)'연속 클릭,여러 번 불 러 오기'텍스트 문자열 을 연속 으로 클릭 하면 대상 페이지 load Multi/index 페이지 가 N 번 불 러 왔 습 니 다.N 번 을 눌 러 야 홈 페이지 로 돌아 갈 수 있 습 니 다.문제 원인 분석:
애플 릿 은 MINA 프레임 워 크 를 기반 으로 이 프레임 워 크 의 핵심 프레임 워 크 의 핵심 은 응답 하 는 데이터 바 인 딩 시스템 으로 전체 시스템 은 두 개의 시각 계층(View)과 논리 계층(App Service)으로 나 뉘 며 프레임 워 크 는 데이터 와 보 기 를 매우 간단하게 동기 화 할 수 있다.데 이 터 를 수정 할 때 논리 층 에서 데 이 터 를 수정 하면 보기 층 은 해당 하 는 업 데 이 트 를 할 수 있 습 니 다.단 추 를 누 르 면 보기 층 은 bindtap 의 이 벤트 를 논리 층 에 보 내 고 논리 층 은 해당 하 는 이벤트 처리 함수 loadMulti 를 찾 아 실행 합 니 다.
그림 층 에서 bindtap 이 벤트 를 논리 층 에 보 내 고 해당 하 는 처리 함 수 를 찾 는 데 시간 이 걸 리 기 때문에 T1.해당 하 는 처리 함수 loadMulti 를 찾 은 후 loadMulti 함 수 를 실행 합 니 다.wx.navigateTo,hide 원래 페이지 는 시간 T2 가 필요 합 니 다.T1+T2 시간 내 에 N 회 를 빠르게 연속 클릭 하면 N 회 대상 페이지 를 불 러 올 수 있 습 니 다.
해결 방안:
loadOnce:function(e) {
if (!this.pageLoading) {
this.pageLoading = !0;
wx.navigateTo({
url: '/pages/loadOnce/index',
})
}
},
onShow: function() {
this.pageLoading = !1;
}
1)loadOnce 이벤트 처리 함수 에 pageLoading=true 설정2)페이지 의 onShow 이벤트 에 pageLoading=false 설정
사실 우 리 는 포장 방법 으로 포장 할 수 있다.
/**
*
*/
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
}
}
}
<button bindtap='tap' data-key='abc'>tap</button>
const util = require('../../utils/util.js')
Page({
data: {
text: 'tomfriwel'
},
onLoad: function (options) {
},
tap: util.throttle(function (e) {
console.log(this)
console.log(e)
console.log((new Date()).getSeconds())
}, 1000)
})
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
애플 릿 이미지 새로 고침, nginx 재 작성 url 제거 인자이전에 nginx 로 이미지 서버 를 만 들 었 는데 전단 에 작은 프로그램 을 사 용 했 습 니 다. 작은 프로그램 이 출시 된 후에 그림 이 새로 고침 되 지 않 는 것 을 발 견 했 습 니 다. 조사 한 결과 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.