애플 릿 이 여러 번 의 클릭 을 피하 고 이벤트 가 반복 되 는 것 을 자세히 설명 합 니 다.
어떻게 이 문 제 를 해결 하거나 피 합 니까?일반적으로 두 가지 상황 이 있다.
1.이 벤트 를 클릭 하면 네트워크 요청(댓 글 제출,인증 코드,결제)을 수행 합 니 다.
이 경우 요청 이 실행 되 기 전에 모드 의 로드 상 자 를 표시 하고 요청 이 완료 되면 로드 상 자 를 닫 을 수 있 습 니 다.
애플 릿 은 1.1.0 버 전 기본 라 이브 러 리 에서 만 wx.show Loading 을 지원 하기 때문에 낮은 버 전 을 호 환 처리 해 야 합 니 다.코드 는 다음 과 같 습 니 다.
function showLoading(message) {
if (wx.showLoading) {
// 1.1.0 6.5.6 ,
wx.showLoading({
title: message,
mask: true
});
} else {
// Toast 20
wx.showToast({
title: message,
icon: 'loading',
mask: true,
duration: 20000
});
}
}
function hideLoading() {
if (wx.hideLoading) {
// 1.1.0 6.5.6 ,
wx.hideLoading();
} else {
wx.hideToast();
}
}
로 딩 상자 와 로 딩 상 자 를 닫 는 코드 를 공공 코드 에 넣 을 수 있 습 니 다.예 를 들 어 util 을 사용 할 때 직접 호출 하면 됩 니 다.
function request() {
util.showLoading(' ...');
wx.request({
url: app.globalData.host + 'xxx',
data: {...},
method: 'GET',
success: function (res) {
util.hideLoading()
...
},
fail: function (res) {
util.hideLoading()
...
}
})
}
2.이벤트 클릭 은 페이지 이동이 벤트 를 클릭 하면 페이지 가 이동 해 야 할 때 로 딩 상 자 를 표시 하 는 데 적합 하지 않 지만 애플 릿 의 페이지 가 빠르게 이동 하지 않 습 니 다.처리 하지 않 으 면 사용자 가 여러 페이지 를 반복 적 으로 클릭 하여 열 수 있 습 니 다.여 기 는 제한 버튼 이나 컨트롤 의 클릭 간격 으로 처리 할 수 있 습 니 다.마찬가지 로 이 방법 을 공공 코드 에 넣 을 수 있 습 니 다.예 를 들 어 util.그리고 사용 할 때 직접 호출 하면 됩 니 다.
function buttonClicked(self) {
self.setData({
buttonClicked: true
})
setTimeout(function () {
self.setData({
buttonClicked: false
})
}, 500)
}
먼저 페이지 에 대응 하 는 js 파일 에 buttonClicked 데이터 대상 을 추가 한 다음 이벤트 에서 이 방법 을 사용 해 야 합 니 다.
Page({
data: {
buttonClicked: false
},
click: function (e) {
util.buttonClicked(this);
var id = e.currentTarget.dataset.id;
wx.navigateTo({
url: '../detail/detail?id=' + id
})
},
})
또한 wxml 클릭 컨트롤 에서 buttonClicked 를 통 해 클릭 할 수 있 는 지 여 부 를 판단 할 수 있 으 며,bindtap 로 도 disabled 를 사용 할 수 있 습 니 다.
<view bindtap="{{!buttonClicked?'click':''}}" data-id="{{id}}" />
<button bindtap="{{!buttonClicked?'click':''}}" data-id="{{id}}" />
<button bindtap="click" disabled="buttonClicked" data-id="{{id}}" />
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
애플 릿 이미지 새로 고침, nginx 재 작성 url 제거 인자이전에 nginx 로 이미지 서버 를 만 들 었 는데 전단 에 작은 프로그램 을 사 용 했 습 니 다. 작은 프로그램 이 출시 된 후에 그림 이 새로 고침 되 지 않 는 것 을 발 견 했 습 니 다. 조사 한 결과 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.