Mini programme WeChat - Utilisation d'EventChannel

utilisation

Communication inter-pages lorsqu'une grande quantité de données doit être transférée entre deux pages - pas un véritable centre de messagerie mondial

Scénarios d'utilisation possibles:

1. Pré-chargement des données (une fois que la page précédente a chargé les données, elles sont passées à la page suivante)

2. Transférer les données utilisateur (comme enregistrer les brouillons ou faire ressortir les données sélectionnées par l'utilisateur)

API commune

Document officiel de l'applet de référence directe Cliquez ici pour sauter

comment utiliser

étape 1: enregistrer l'événement dans le saut d'itinéraire de la première page

Comme le montre la figure: ajoutez l'attribut events et sa valeur clé est le nom de l'événement enregistré

Insérez la description de l'image ici

étape 2: Abonnez-vous aux événements pendant le cycle de vie de la deuxième page

Il peut être dans onLoad et onShow

Insérez la description de l'image ici

compatibilité

La bibliothèque de base 2.7.3 a commencé à prendre en charge

Si la version est inférieure à cela, une erreur sera générée, alors assurez-vous de vérifier si elle est applicable ou non dans app.js globalement avant de l'utiliser, et rappelez aux utilisateurs de mettre à niveau WeChat

Code de contrôle de compatibilité (déjà emballé)

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()

utilisation
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_38616850/article/details/108365725
conseillé
Classement