Maison  >  Article  >  Applet WeChat  >  Partagez une petite exploration du transfert de valeur sur une page d'applet WeChat

Partagez une petite exploration du transfert de valeur sur une page d'applet WeChat

Y2J
Y2Joriginal
2017-04-24 14:07:162269parcourir

Récemment, lors du développement de petits programmes en groupe, nous avons rencontré un sujet qui n'a jamais changé dans le front-end : le passage de valeur de page
Je viens de commencer à utiliser le passage de paramètres de chemin pour résoudre le problème, mais comme nous le savons tous :

Chaque navigateur HTTP La longueur maximale de l'URL de la requête Get n'est pas la même. La longueur maximale de plusieurs navigateurs couramment utilisés et la situation de soumission après avoir dépassé la longueur maximale sont les suivantes :
IE6. .0 : La longueur maximale de l'URL est de 2 083 caractères et elle ne peut pas être soumise après avoir dépassé la longueur maximale.
IE7.0 : La longueur maximale de l'URL est de 2 083 caractères. Elle peut toujours être soumise après avoir dépassé la longueur maximale, mais seuls 2 083 caractères peuvent être transmis.
firefox 3.0.3 : La longueur maximale de l'URL est de 7 764 caractères. Elle ne peut pas être soumise une fois la longueur maximale dépassée.
Opera 9.52 : La longueur maximale de l'URL est de 7 648 caractères. Elle ne peut pas être soumise après avoir dépassé la longueur maximale.
Google Chrome 2.0.168 : La longueur maximale de l'URL est de 7 713 caractères. Elle ne peut pas être soumise après avoir dépassé la longueur maximale.

Cela ne semble donc pas fiable.
Après avoir fait des recherches sur le site officiel, j'ai découvert qu'il existe deux façons de le faire "plus élégamment", qui bien sûr ne peuvent être comparées à vuex/flux.

  1. Utilisez des variables globales
    et définissez-les dans le projet app.jsglobalData

    App({
     globalData:{
     userInfo:'angeladaddy'
    }
    });

    Utilisez-les si nécessaire :

    getGlobalVar:function(){
     var that=this;
    that.setData({
      globalvar_str:JSON.stringify(getApp().globalData)
    }) 
    }

    Bien sûr, vous pouvez également attribuer des valeurs à tout moment :

    onLoad:function(options){
     getApp().globalData.userInfo+=' is an awesome man';
    },

    Effet :

Partagez une petite exploration du transfert de valeur sur une page d'applet WeChat

Paste_Image.png

2. Utiliser des modèles
Selon l'introduction officielle :

Définissez d'abord le modèle, utilisez l'attribut name

<template name="msgItem">
  <view>
    <text> {{index}}: {{msg}} </text>
    <text> Time: {{time}} </text>
  </view>
</template>

Ensuite, utilisez le modèle

  • Utilisez l'attribut is pour déclarer le modèle que vous devez utiliser, puis transmettez les données requises par le modèle, telles que :

    <template is="msgItem" data="{{...item}}"/>

    Attribuez une valeur à l'élément pour afficher les données du modèle

    Page({
    data: {
     item: {
       index: 0,
       msg: &#39;this is a template&#39;,
       time: &#39;2016-09-15&#39;
     }
    }
    })

Cela résout le problème du transfert de valeur de page de manière "duang~~~"

Postscript : Puisque les petits programmes peuvent utiliser toutes les fonctionnalités d'ES6, alors c'est quoi ce var that=this ? Pourquoi ne pouvons-nous pas utiliser les fonctions fléchées pour résoudre les problèmes de portée ? Revenez et réessayez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn