Passer des valeurs entre les pages avant et après les applets WeChat

Passer des valeurs entre les pages avant et après les applets WeChat

  • Comment passer des paramètres de la page précédente à la page suivante ?
  • En revenant à la page précédente à partir de la page suivante, comment rappeler les paramètres ?

passer la valeur à l'envers

Passer de la page précédente à la page suivante et transmettre la valeur.

Page d'accueil : ajouter et transmettre des paramètres dans le lien de saut

wx.navigateTo({
    
    
  url: 'page/path?key=value'
})

Page arrière : Recevoir des paramètres dans la fonction onLoad()

onLoad: function(options) {
    
    
  console.log(options.key) // 输出 value
}

Cette méthode est-elle adaptée au transfert de paramètres à petite échelle et convient-elle au transfert de données "plus volumineuses" ? Par exemple, nous devons transmettre la valeur d'un dictionnaire au passé, convertir l'intégralité du dictionnaire en json comme valeur et définir une clé à transmettre au passé. La plate-forme d'applet WeChat prend-elle en charge ce transfert de valeur ? De plus, y a-t-il une limite à la longueur du paramètre dans "url" ?

valeur de passe de rappel

Revenez à la page précédente et transmettez la valeur de la page suivante.

Page actuelle : récupère l'instance de la page précédente et appelle la méthode de la page précédente

let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; // 上一个页面
prevPage.setData({
    
    
  key: newValue
})
wx.navigateBack();

ou:

  1. Définir une fonction sur la page précédente
callback(e) {
    
    
    console.log(e)
    
}
  1. Appeler la fonction de la page précédente dans la page en cours
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; // 上一个页面
prevPage.callback({
    
    key: value})

Les applets WeChat n'ont pas de rappels comme le proxy ou le bloc, mais la méthode ci-dessus pour implémenter le rappel est plus directe, et son essence est la même que celle du proxy et du verrou.

おすすめ

転載: blog.csdn.net/Morris_/article/details/132076150