zoukankan      html  css  js  c++  java
  • 微信小程序如何在页面间传值

    分两种情况,见下图:

    1. 可以在路由跳转的时候进行传值,如下:
      使用wx.navigateTo(Object object)方法,具体可参见官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html
      官方的例子:
    wx.navigateTo({
      url: 'test?id=1',
      events: {
        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
        acceptDataFromOpenedPage: function(data) {
          console.log(data)
        },
        someEvent: function(data) {
          console.log(data)
        }
        ...
      },
      success: function(res) {
        // 通过eventChannel向被打开页面传送数据
        res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
      }
    })
    
    //test.js
    Page({
      onLoad: function(option){
        console.log(option.query)
        const eventChannel = this.getOpenerEventChannel()
        eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});
        eventChannel.emit('someEvent', {data: 'test'});
        // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
        eventChannel.on('acceptDataFromOpenerPage', function(data) {
          console.log(data)
        })
      }
    })
    
    1. 第二种,子页面向父页面传值,这时候可以操作路由栈的下一层元素(父页面元素)即可
    let pages = getCurrentPages()
    let prevPage = pages[pages.length - 2]
    // 获取父页面数据
    let parentPageData = prevPage.data
    // 操作父页面数据
    prevPage.setData()
    
  • 相关阅读:
    Linux strip
    有趣的BUG
    GDB watch std::string size
    Redis Cluster Lua
    Double Buffer
    Yarn架构
    天池公交客流预测比赛
    hashmap,ConcurrentHashMap与hashtable的区别
    fail-fast和fail-safe
    常见机器学习算法优缺点
  • 原文地址:https://www.cnblogs.com/lyzz1314/p/15636810.html
Copyright © 2011-2022 走看看