专栏首页娱乐心理测试小程序——带参返回上一页几种方法

小程序——带参返回上一页几种方法

小程序的页面跳转API像wx.navigateTo()、wx.redirectTo()之类的,都是跳转到一个全新的页面,当这个页面是表单的时候,有时候需要跳转到其它页面选取信息后再跳转回来,那之前填的信息就必须得存在,这个时候可以当跳转到选择信息的页面,选中信息后设置设置上一页的data,然后再返回到上一页,这样数据都会存在。

方法一 把当前页面数据放入本地缓存( wx.setStorage(wx.setStorageSync),上一个页面再从缓存中取出(wx.getStorage(wx.getStorageSync))同时退出登录时要清除缓存(wx.clearStorage(wx.clearStorageSync))。

方法二

  1. 在当前页设置上一页的data,例如
var pages = getCurrentPages();             //  获取页面栈
var currPage = pages[pages.length - 1];    // 当前页面
 var prevPage = pages[pages.length - 2];    // 上一个页面
 prevPage.setData({
   mydata: {a:1, b:2}                       // 假数据
 })

当然这个“mydata”必须是上一页有的数据才行

返回上一页的数据为:

wx.navigateBack({
 delta: 1
 })
  1. 直接调用方法名来更新数据
页面A
Page({
     data: {
        name: ''
     },
     ...
     ,
     //更新name
     changeData: function(name){
        this.setData({
            name: name
        })
     }
})

页面B,假设有一个文本框用于输入姓名,点击返回按钮后更新页面A的name

Page({
    //此方法用于文本框输入回调
    inputTyping: function (e) {
        //获取页面栈
        var pages = getCurrentPages();
        if(pages.length > 1){
            //上一个页面实例对象
            var prePage = pages[pages.length - 2];
            //关键在这里
            prePage.changeData(e.detail.value)
        }
    }
})

这样就可以实现数据传递给上一个页面,要注意页面A必须使用wx.navigateTo跳转到页面B,不能使用wx.redirectTo,这样会关闭上一个页面,导致页面B无法获取上一页Page实例。

方法三 在app.js中设置全局变量,当前页赋值,上一页取之

方法为

globalData: {
    userInfo: null,
  }

注意:方法一,方法三,都需要重新刷新页面数据所走方法为:

/**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 最简单的方法实现返回按钮跳转到指定界面

    项目中遇到一问题,当A页面用wx.navigateTo的方法跳转到B页面时,然后用同样的办法从B到C页面,在C页面时遇到问题:1.点击C页面的某一按钮直接返回A...

    honey缘木鱼
  • 小程序设置启动页面

    honey缘木鱼
  • 完美解决vue项目中弹出框滑动时,内部页面也跟着滑动问题

    //弹出框禁止滑动 Vue.prototype.noScroll = function () { var mo = function (e) { e.pre...

    honey缘木鱼
  • 微信小程序4种跳转方式

    似水的流年
  • 开发 | 天天用小程序页面跳转接口,但你真的了解它们吗?

    今天,知晓程序(微信号 zxcx0101)就来为你详细解析,小程序中有关页面跳转的 4 个接口,帮助你更有效地利用小程序的 5 层页面层级限制。

    知晓君
  • Linux-3.14.12内存管理笔记【伙伴管理算法(3)】

    前面分析了伙伴管理算法的初始化,在切入分析代码实现之前,例行先分析一下其实现原理。

    233333
  • 微信小程序从子页面退回父页面时的数据传递

    我们知道,在微信小程序中,从一个页面转到另一个页面,一般情况下可以通过navigate或redirect时候的url来携带参数,然后在目标页面的onLoad函数...

    一斤代码
  • 适用于既有大型MPA项目的“微前端”方案

    对于大多数有点历史的复杂前端项目来说,应该已经经历了从刀耕火种的大型单仓库构建到多业务应用独立开发部署的过程。当用户访问页面时,由 nigix等负责根据路由分发...

    有赞coder
  • 微信小程序生命周期学习笔记-页面篇

    小程序的生命周期分三类:应用生命周期、页面生命周期、组件生命周期。现在我们来学习一下页面的生命周期。

    面向对象思考
  • hugo-页面变量

    caoayu

扫码关注云+社区

领取腾讯云代金券