위 챗 애플 릿 페이지 에서 전송 값 을 되 돌려 주 는 4 가지 솔 루 션 을 모 았 습 니 다.

필드 사용
애플 릿 은 A 페이지 에서 B 페이지 로 넘 어가 B 페이지 에서 하나의 값 을 선택 한 후 A 페이지 로 되 돌아 가 A 페이지 에서 B 페이지 에서 선택 한 값 을 사용 합 니 다.예 를 들 어 구 매 주문 페이지 에서 주소 목록 으로 이동 하고 주 소 를 선택 한 후에 주문 페이지 로 되 돌아 가 며 주문 페이지 의 배 송 주 소 는 동시에 업데이트 해 야 합 니 다.
해결 방안
흔히 볼 수 있 는 비교 가 쉬 운 방안 은 애플 릿 의 전역 저장 globalData,로 컬 캐 시storage애플 릿 의 페이지 스 택 을 가 져 오고 이전 페이지 의 setData 방법 을 호출 하 며wx.navigateTo이벤트 속성 을 이용 하여 현재 페이지 로 보 내 는 데 이 터 를 감청 하 는 것 입 니 다.다음은 네 가지 방법의 장단 점 을 간단하게 비교 해 보 겠 습 니 다.
1.globalData 를 사용 하여 실현

//page A
const app = getApp() //  App.js  
onShow() {//      --      
  if (app.globalData.backData) {
    this.setData({ // B             
      backData: app.globalData.backData
    },()=>{
     	delete app.globalData.backData //       onShow    
    })
  }
}
//page B
const app = getApp() //  App.js  
changeBackData(){
   app.globalData.backData = '     '
   wx.navigateBack()
}
2.로 컬 캐 시 스토리 지 를 사용 하여 구현

//page A
  onShow: function () {
    let backData = wx.getStorageSync('backData')
    if(backData){
       this.setData({
     		 backData
    	},()=>{
     		 wx.removeStorageSync('backData')
    	})
    }
  },
 //page B
 changeBackData(){
    wx.setStorageSync('backData', '     ')
    wx.navigateBack()
 },
3.애플 릿 을 사용 한 페이지 스 택 구현
애플 릿 의 페이지 스 택 을 다른 두 가지 방식 보다 편리 하고 더 빨리 렌 더 링 할 수 있 습 니 다.A 페이지 로 되 돌아 간 다음 에 데 이 터 를 렌 더 링 할 필요 가 없습니다.B 페이지 에 있 는 것 은 A 페이지 의 값 을 직접 업데이트 하고 A 페이지 로 되 돌 릴 때 값 은 더욱 새 로 워 집 니 다.globalData 와 Storage 가 실현 하 는 원 리 는 모두 B 페이지 에서 값 을 수정 한 후에 A 페이지 로 되 돌아 가 onShow 생명주기 함 수 를 터치 하여 페이지 렌 더 링 을 업데이트 하 는 것 입 니 다.

//page B
changeBackData(){
    const pages = getCurrentPages();
    const beforePage = pages[pages.length - 2]
    beforePage.setData({  //     A     ,A         
      backData: "     "
    })
}
4.wx.navigateTo API 를 사용 한 이벤트 구현
wx.navigateTo 의 이벤트 실현 원 리 는 디자인 모델 의 게시 구독 모델 을 이용 하여 이 루어 진 것 이다.관심 이 있 는 학생 들 은 스스로 간단 하고 똑 같은 효 과 를 실현 할 수 있다.

//page A
 goPageB() {
    wx.navigateTo({
      url: 'B',
      events: {
        getBackData: res => { // events        
          this.setData({
            backData: res.backData
          })
        },
      },
    })
  },
//page B	
changeBackData(){
    const eventChannel = this.getOpenerEventChannel()
       eventChannel.emit('getBackData', {  
     	 backData: '     '
    });
     wx.navigateBack()
 }
총결산
1 과 2 두 가지 방법 은 페이지 렌 더 링 효과 에 있어 서 뒤의 두 가지 보다 조금 느 립 니 다.3 과 4 두 가지 방법 은 B 페이지 가 A 페이지 로 되 돌아 가기 전에 업 데 이 트 를 실 행 했 습 니 다.1 과 2 두 가지 방법 은 A 페이지 로 돌아 간 후에 야 A 페이지 에서 업 데 이 트 를 촉발 하 는 것 입 니 다.또한 1 과 2 두 가지 방식 은 A 페이지 가 업 데 이 트 된 후에 globalData 와 Storage 의 데 이 터 를 삭제 해 야 한 다 는 점 을 고려 하여 onShow 방법 에서 setData 업데이트 페이지 가 중복 되 지 않도록 개인 적 으로 뒤의 3 과 4 두 가지 방식 을 사용 하 는 것 을 추천 합 니 다.
위 챗 애플 릿 페이지 에서 전송 값 을 되 돌려 주 는 4 가지 솔 루 션 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 위 챗 애플 릿 페이지 에서 전송 값 을 되 돌려 주 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!

좋은 웹페이지 즐겨찾기