À propos des mini-programmes

hzc
Libérer: 2020-07-04 09:43:18
avant
3027 Les gens l'ont consulté

Notes aux articles. Bienvenue pour discuter avec vous. Veuillez signaler s'il y a des erreurs dans l'article.

1. Certaines opérations qui nécessitent la récupération de variables dans les données. Nous pouvons utiliser la déstructuration et l'affectation d'objets ES6 pour le simplifier. Nous pouvons utiliser cette méthode non seulement dans de petits programmes mais aussi dans vue.

// 例子(小程序)
let a = this.data.a;
let b = this.data.b;
// ES6对象解构赋值
let {a,b} = this ; // vue
let {a,b} = this.data; //小程序
Copier après la connexion

2. L'attribut public du composant de l'applet caché Si vous ne faites pas attention au document, vous risquez de manquer cet attribut public. Équivalent à display:none; en CSS, il peut être appliqué aux nœuds qui changent fréquemment.

<view></view>
 <!--  false 为显示   true为隐藏 -->
Copier après la connexion

a cité le dicton officiel : « De manière générale, wx:if a un coût de commutation plus élevé et caché a un coût de rendu initial plus élevé. Par conséquent, si des commutations fréquentes sont nécessaires, il est préférable d'utiliser caché . S'il est peu probable que les conditions changent pendant l'exécution, wx:if est préférable. Pièges rencontrés lors de la documentation

<!-- 这样的写法会出现换行的效果 -->
<text>
    SevenDream 
    SevenDream 
</text>
<!-- 如果不需要换行的效果-->
<text>SevenDream SevenDream</text>
Copier après la connexion

4. À propos de l'image Lorsque vous devez restituer des images, vous trouverez une couture blanche dans le fichier. milieu d’images consécutives. S'il est tranché dans les détails du produit dans le centre commercial, il sera inesthétique d'avoir des rayures blanches au milieu. Ajoutez simplement display:bolck à la balise d'image.

<image></image>
Copier après la connexion

5. À propos du sautÀ propos des mini-programmes

Si la méthode de traitement de la pile de pages maximale est dépassée (plus de 10 pages), le saut sera encapsulé.
  • //utils.js
    export function navigateTo(url) {
       let Type = getCurrentPages().length >= 10 ? 'redirectTo' : 'navigateTo'
        return new Promise((resolve, reject) => {
          wx[Type]({
            url,
            success: res => {
              resolve()
            },
            fail: err => {
              reject(err)
            },
          })
        })
    }
    // 其他页面js
    import {navigateTo} from '../../utils/utils';
    navigateTo('pages/index/index')
    Copier après la connexion
Actualiser lors du retour à la page précédente (comme le retour au centre personnel)
  • wx.switchTab({
        url: '/pages/my/my',
        success:function(){
            var page  =  getCurrentPages().pop(); //当前页面
            page.onLoad(); // 调用 onload
        }})
    Copier après la connexion
Définissez la valeur de la page précédente lors du retour à la page précédente
  •     var pages = getCurrentPages(); // 获取页面栈
        var prevPage = pages[pages.length - 2];  //上一页
        prevPage.setData(data);
        wx.navigateBack({
          delta: 1
        })
    Copier après la connexion
  • 6.this.setData Si vous souhaitez modifier l'un des objets ou tableaux
  //data
  data: {
    obj: {
      a: 1
    },
    array: ['1']
  },
  //改变对象
  setOBJ:function(){
    var name = 'a'
    var obj = 'obj.a'
    this.setData({
      [obj]:2
    })
  },
  //改变数组
  setArr: function () {
    var num = 0
    var arr = `array[${num}]`
    this.setData({
      [arr]: 2
    })
  }
Copier après la connexion

Si nous avons un formulaire qui doit être lié à de nombreuses entrées de liaison, utilisez la solution ci-dessus et ajoutez data-*. Il n'est pas nécessaire d'écrire plusieurs méthodes, une seule suffit
  •   <input>
      <input>
      <input>
    Copier après la connexion
    // 写入
      data:{
        FromOBJ:{
          name:'',
          phone:'',
          address:''
        }
      },
      onInput: function (e) {
          let name =  e.currentTarget.dataset.name
          let value = e.detail.value
          let valueObj = `FromOBJ.${name}`;
          this.setData({
            [valueObj]:value
          })
      }
    Copier après la connexion
  • 7. Encapsuler wx.request (il existe de nombreuses solutions de packaging pour wx.requset sur Internet, ici est la solution d'emballage originale de l'affiche originale) )
//API.js
const HTTP_URL = 'https://xxxx.xxx.xxx/'

function Request(url, data={},method='get',ContentType='application/json;charset=utf-8') {
    return new Promise((resolve, reject) => {
        wx.request({
            url: HTTP_URL.http + url,
            method: method,
            header: {
                'Content-Type': ContentType,
                'xxxx': 'xxxx'  // 其他header头
            },
            data: data,
            success: function (res) {
                resolve(res.data)
            },
            fail: function (err) {
                reject(err)
            }
        })
    })
}

export function getApi(data) {
    var url = '/getapi';
    return Request(url, data)
}
// 其他页面js
import {getApi} from '../../utils/api';
getApi({a:1,b:2}).then(res=>console.log(res)).catch(err=>console.log(err))
Copier après la connexion

8 Autres problèmes à noter

Si iconfont est utilisé, tous les fichiers sont insérés en même temps. Assurez-vous de supprimer iconfont.js. Un message d'erreur apparaîtra lors de l'utilisation d'une vraie machine. L'écran blanc ne parvient pas à se charger.
  • Lors de la création d'effets d'animation, il est recommandé d'utiliser l'API d'animation officielle ou l'animation CSS3 avec prudence
  • Enfin, permettez-moi. parler d'un écueil rencontré par l'affiche. (Peut-être que ma façon de le gérer est fausse). N'utilisez pas l'effet de transition d'animation du changement de hauteur ou de largeur au niveau du composant de la carte. Les attributs d'animation de transition WeChat Animation Api et CSS3 resteront bloqués et resteront bloqués dans ppt. Essayez d'utiliser leur "transformation" (API WeChat, CSS3) pour résoudre le problème.
  • Tutoriel recommandé : "
  • Mini programme WeChat
"

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:jianshu.com
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