Mini programa WeChat: uso de EventChannel

utilizar

Comunicación entre páginas cuando es necesario transferir una gran cantidad de datos entre dos páginas, no un centro de mensajes global real

Posibles escenarios de uso:

1. Carga previa de datos (después de que la página anterior carga los datos, se pasa a la página siguiente)

2. Transferir datos de usuario (como guardar borradores o sacar los datos seleccionados por el usuario)

API común

Documento oficial del applet de referencia directa Haga clic aquí para saltar

cómo utilizar

paso 1: Registre el evento en el salto de ruta de la primera página

Como se muestra en la figura: agregue el atributo de eventos y su valor clave es el nombre del evento registrado

Inserte la descripción de la imagen aquí

paso 2: suscríbase a eventos durante el ciclo de vida de la segunda página

Puede estar en onLoad y onShow

Inserte la descripción de la imagen aquí

compatibilidad

La biblioteca básica 2.7.3 comenzó a admitir

Si la versión es inferior a esta, se generará un error, así que asegúrese de verificar si es aplicable o no en app.js globalmente antes de usarlo, y recuerde a los usuarios que actualicen WeChat

Código de verificación de compatibilidad (ya empaquetado)

class Compatible {
    
    
    constructor() {
    
    

    }

    compareVersion(v1, v2) {
    
    
        v1 = v1.split('.')
        v2 = v2.split('.')
        const len = Math.max(v1.length, v2.length)

        while (v1.length < len) {
    
    
            v1.push('0')
        }
        while (v2.length < len) {
    
    
            v2.push('0')
        }

        for (let i = 0; i < len; i++) {
    
    
            const num1 = parseInt(v1[i])
            const num2 = parseInt(v2[i])

            if (num1 > num2) {
    
    
                return 1
            } else if (num1 < num2) {
    
    
                return -1
            }
        }

        return 0
    }
    SDKVersion() {
    
    
        return wx.getSystemInfoSync().SDKVersion
    }
    EventChannel() {
    
    
        return new Promise((resolve, reject) => {
    
    
            if (this.compareVersion(this.SDKVersion(), '2.7.3') < 0) {
    
    
                wx.showModal({
    
    
                    title: '温馨提示',
                    content: '当前微信版本过低,请尽快升级您的微信版本',
                    showCancel: false,
                    cancelColor: '#000000',
                    confirmText: '我明白了',
                });
                reject()
            } else {
    
    
                resolve()
            }
        })
    }
}
export default new Compatible()

utilizar
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_38616850/article/details/108365725
Recomendado
Clasificación