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:
- Définir une fonction sur la page précédente
callback(e) {
console.log(e)
}
- 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.