微信小程序在当前页面操作上一个页面的数据和方法

在微信小程序中,我们经常有操作上一个页面的情形。

例如某一个页面在请求数据前需要是登录状态,在登录页面登录完成后,要返回上一个页面,并且让该页面发送请求,渲染页面。此时,就需要在登录页面有一个能够操作上一个页面的抓手。

解决方案:借助 getCurrentPages API 获取上一个页面的实例,然后调用页面实例指定的方法即可。

A 页面:

Page({
  data: {
    id: xxx
  },
  onLoad: function (e) {
    this.setData({
      id: e.id
    })
    // 判断是否登录
    if(isLogin){
      this.catchDataAndRender()
    } else {
      this.navigateToLoginPage()
    }
  },
  // 发送请求,获取数据并渲染视图
  catchDataAndRender(){
    let { id } = this.data
    ......
  },
  // 跳转到登录页
  navigateToLoginPage(){}
})

B 登录页面:

Page({
  data: {
  },
  // 登录
  login(){
    if(loginSuccess){
      let pages = getCurrentPages()
      if(pages.length == 1){
        // 当前的页面栈只有登录页面,跳转到首页
        wx.reLaunch({
          url: '/pages/index/index'
        });
      } else {
        // 从别的页面跳转过来的
        let lastPage = pages[pages.length - 2]
        let catchDataAndRender = lastPage.catchDataAndRender
        if(catchDataAndRender){
          catchDataAndRender()
        }

        wx.navigateBack();
      }
    }
  }
})

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序中可以使用 wx.showModal 或 wx.prompt 来在当前页面弹出一个弹窗,让用户输入数据。 使用 wx.showModal 时可以设置模态框的标题、内容和按钮文字,当用户点击确定或取消按钮时会返回一个对象,其中 confirm 属性表示用户是否点击了确定按钮,cancel 属性表示用户是否点击了取消按钮。 示例: ``` wx.showModal({ title: '提示', content: '这是一个模态弹窗', success (res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }) ``` wx.prompt 方法可以设置标题和默认值,当用户点击确定或取消按钮时会返回一个对象,其中 confirm 属性表示用户是否点击了确定按钮,cancel 属性表示用户是否点击了取消按钮,value 属性表示用户输入的值。 示例: ``` wx.prompt({ title: '输入框', defaultValue: '默认值', success (res) { if (res.confirm) { console.log(res.value) } else if (res.cancel) { console.log('用户点击取消') } } }) ``` 希望这能解决你的问题. ### 回答2: 微信小程序点击按钮在当前页面弹出一个弹窗输入数据的实现可以通过以下步骤完成: 1. 在小程序的wxml文件中定义一个按钮组件,例如: ```html <button bindtap="showPopup">点击弹窗输入数据</button> ``` 2. 在小程序的js文件中编写showPopup函数,该函数用于显示弹窗: ```javascript Page({ showPopup: function () { wx.showModal({ title: '请输入数据', content: '', success: function (res) { if (res.confirm) { console.log('用户点击确定') } } }) }, }) ``` 3. 在showModal函数内,调用微信小程序的showModal方法,该方法可以显示一个模态弹窗。 参数title指定弹窗的标题,content可以设置弹窗的输入框中的初始文本内容。 在success回调函数中,可以处理用户点击确定按钮的操作。 以上就是实现微信小程序点击按钮在当前页面弹出一个弹窗输入数据的简单示例。 通过以上代码,我们可以在点击按钮后,弹出一个模态窗口供用户输入数据。用户点击确定按钮后,我们可以在success回调函数中处理用户输入的数据。 ### 回答3: 微信小程序是一种轻量级的应用程序,用户可以在微信内直接使用。其中的按钮是常见的交互元素,用于触发事件。在点击按钮时,在当前页面弹出一个弹窗输入数据的功能可以通过以下步骤实现。 首先,需要在页面中添加一个按钮元素,并为按钮绑定一个点击事件。例如: ```html <button bindtap="showModal">点击我输入数据</button> ``` 接下来,在页面的对应的js文件中,定义一个名为showModal的函数来处理按钮的点击事件,并在该函数中调用微信小程序的API来显示弹窗。例如: ```javascript // pages/index/index.js Page({ showModal: function () { wx.showModal({ title: '请输入数据', content: '这是一个输入框', success: function (res) { if (res.confirm) { console.log('用户点击确定') // 在这里可以处理用户输入的数据 } else if (res.cancel) { console.log('用户点击取消') // 可以进行一些取消操作 } } }) } }) ``` 在showModal函数中,我们使用了微信小程序的showModal API,该API可以显示一个模态对话框,其中包括一个标题和内容,并提供确定和取消按钮供用户选择。 当用户点击确定按钮时,通过处理success回调函数中的逻辑,可以获取用户在弹窗中输入的数据,并进行相应的处理。当用户点击取消按钮时,可以执行一些取消操作。 通过以上步骤,我们可以实现在微信小程序中,点击按钮,在当前页面弹出一个弹窗输入数据的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值