Maison > Applet WeChat > Développement de mini-programmes > Rendu du modèle de l'applet WeChat

Rendu du modèle de l'applet WeChat

php中世界最好的语言
Libérer: 2018-03-23 10:15:29
original
2008 Les gens l'ont consulté

Cette fois, je vous apporte le rendu du modèle de l'applet WeChat. Quelles sont les précautions lors de l'utilisation du rendu du modèle de l'applet WeChat. Ce qui suit est un cas pratique, jetons un coup d'œil.

Cet article présente principalement en détail les informations pertinentes sur le rendu du modèle d'applet WeChat, qui a une certaine valeur de référence. Les amis intéressés peuvent se référer à

L'interface de l'applet WeChat Le programme prend en charge la syntaxe HTML et ajoute. quelques balises supplémentaires, telles que vue, bloc, temple, etc.

Rendu du modèle
index.wxml

<view>
 <p>{{helloWord}}</p>
</view>
Copier après la connexion

Vous pouvez comprendre le contenu contenu dans {{}} comme une variable. Comment le programme peut-il analyser le {{helloWord}}. variable ?

Enregistrez cette variable dans index.js

var json = {
 data:{
  "helloWord" : "hello world"
 }
};
page(json)
Copier après la connexion

Ensuite, lorsque nous exécutons le mini programme, nous pouvons constater que ce qui est affiché est hello world, c'est-à-dire que toutes les variables doivent être inclus dans les données de l'interface d'inscription
Certaines personnes peuvent se demander, comment ajouter ces variables dynamiquement ?

var json = {
 data:{
  "helloWorld":""
 },
 //监听页面加载
 onLoad:function(){
  var that = this;
  that.setData({
   "helloWorld":"hello world"
  })
 }
};
page(json)
Copier après la connexion

On peut même

var json = {
 data:{},
 //监听页面加载
 onLoad:function(){
  var that = this;
  that.setData({
   "helloWorld":"hello world"
  })
 }
};
page(json)
Copier après la connexion

obtenir le même effet. La page sera restituée à chaque fois que la fonction setData() est appelée.

index1.wxml

<view>
 <view wx:for="{{users}}" wx:for-item="{{item}}">
  <view wx:for="{{item}}" wx:for-index="{{key}}" wx:for-item="{{val}}">
    <p>{{key}}=>{{val}}</p>
  </view>
 </view>
 <view id="nameDemo">
  <p>name : {{users[0].name}}</p>
 </view>
 <view>
  <button bindtap="clickFunc">我是测试按钮</button>
 </view>
</view>
Copier après la connexion

index1.js

var json={
 data:{},
 //监听页面显示
 onShow:function(){
  vat that = this;
  that.setData({
   users:[
    {
     "name":"name1",
     "age":100
    },
    {
     "name":"name2",
     "age":101
    }
   ]
  });
 }
};
page(json);
Copier après la connexion

La fonction de la variable qui est une extension de la portée de ceci.
wx:for boucle une variable
wx:for-index représente le nom de clé de la boucle
wx:for-item représente la valeur clé de la boucle
les utilisateurs sont ajoutés dynamiquement à la fonction de données lorsque la page est affichée dans le domaine.

Regardons maintenant un nouveau problème : comment modifier dynamiquement la valeur de {{users[0].name}} dans la vue id=”nameDemo” ?
Certains diront peut-être de réexaminer directement - Ne suffit-il pas de générer un json et de le restituer directement ?
Cette solution est possible, mais les performances de rendu doivent être prises en compte. S'il est restitué à chaque appel, vous serez bloqué.
La solution est une petite astuce js

Changez uniquement la valeur de {{users[0].name}}

var json = {
 data:{},
 //监听页面显示
 onShow:function(){
  vat that = this;
  that.setData({
   users:[
    {
     "name":"name1",
     "age":100
    },
    {
     "name":"name2",
     "age":101
    }
   ]
  });
 },
 clickFunc:function(event){
  vat that = this;
  var dataJson = {};
  dataJson["users[0].name"] = "我是谁"; 
  that.setData(dataJson);
 }
}
Copier après la connexion

où bindtap donne le bouton objet Un événement click a été ajouté. La fonction correspondant à l'événement click est clickFunc La structure des données de l'événement paramètre est la suivante

 { 
  "type": "tap", 
  "timeStamp": 1252, 
  "target": { 
   "id": "tapTest", 
   "offsetLeft": 0, 
   "offsetTop": 0
  }, 
  "currentTarget": { 
   "id": "tapTest", 
   "offsetLeft": 0, 
   "offsetTop": 0, 
   "dataset": { 
   "hi": "MINA" 
   } 
  }, 
  "touches": [{ 
   "pageX": 30, 
   "pageY": 12, 
   "clientX": 30, 
   "clientY": 12, 
   "screenX": 112, 
   "screenY": 151 
  }], 
  "detail": { 
   "x": 30, 
   "y": 12 
  } 
 }
Copier après la connexion

Je pense que vous maîtrisez la méthode après. en lisant le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention à php Autres articles connexes sur le site Web chinois !

Lecture recommandée :

CSS3 implémente des effets d'animation d'inclinaison et de rotation

L'espacement par défaut des éléments de bloc en ligne est effacé

Explication détaillée de l'utilisation de la fonction CSS3 shadow box-shadow

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal