Skip to content

小程序页面之间如何传递数据

直接在url里传递

js
wx.navigateTo({
        url: `/pages/detail/detail?pid=${spuId}`
      })

少量数据建议使用这种方法传递

本地缓存

使用setStorageSyncgetStorageSync

js
wx.setStorageSync('key', 'value')

wx.getStorageSync('key')

大量数据的时使用这种方法

EventChannel

EventChannel是小程序新加的机制, 实现页面间事件通信

大量数据时使用这种方法(实际项目中,上面俩种方法用的多,这种方法没用过)

triggerEvent

triggerEvent自定义组件触发事件,将数据传递给父组件,类似于vue中的$emit

js
this.triggerEvent('customevent', {}, { bubbles: true, composed: true })

bubbles:事件是否冒泡

composed:事件是否可以穿越组件边界,为false时,只能传递到父组件;为true时,可以传递到更上层的组件

如有转载或 CV 的请标注本站原文地址