Maison  >  Article  >  Applet WeChat  >  Guide de développement du mini programme WeChat : à propos du carrousel

Guide de développement du mini programme WeChat : à propos du carrousel

高洛峰
高洛峰original
2017-03-04 14:44:281684parcourir

Le plus courant dans l'application est probablement le carrousel. Cet article parle de la mise en œuvre du carrousel. Une partie du contenu provient des documents officiels et ajoute quelques problèmes et expériences de l'auteur en fonctionnement réel.
Cet article est basé sur la version bêta publique du mini-programme WeChat, IDE : WeChat Developer Tools 0.10.102800

Component swiper

Guide de développement du mini programme WeChat : à propos du carrousel

Quand l'attribut vertical n'est pas défini, ou Lorsque vertical="false" est défini, le point indicateur est en bas du composant et la rotation de l'image se fait de gauche à droite. L'effet est le suivant :

. Guide de développement du mini programme WeChat : à propos du carrousel

Lorsque vertical="true" est défini, le point indicateur Sur le côté droit du composant, le carrousel d'images va de bas en haut, avec l'effet suivant :

Guide de développement du mini programme WeChat : à propos du carrousel

Remarque : swiper est une vue de classe conteneur, mais seuls les composants, tels que d'autres nœuds, peuvent y être placés et seront automatiquement supprimés.

swiper-item

Le code est le suivant :

<!--main.wxml-->
<view>
    <swiper class="swiper_box" indicator-dots="{{indicatorDots}}" vertical="{{vertical}}"
            autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" bindchange="swiperchange">
        <block wx:for="{{images}}">
            <swiper-item>
                <image src="{{item.picurl}}" class="slide-image"/>
            </swiper-item>
        </block>
    </swiper>
</view>
//main.js
//获取应用实例
var app = getApp()
Page({
    data: {
        indicatorDots: true,
        vertical: true,
        autoplay: true,
        interval: 3000,
        duration: 1000,
        loadingHidden: false  // loading
    },

    //事件处理函数
    swiperchange: function(e) {
        // 此处写 轮播 改变时会触发的 change 事件
    },

    onLoad: function() {
        console.log(&#39;onLoad&#39;)
        var that = this

        //sliderList
        wx.request({
            url: &#39;http://huanqiuxiaozhen.com/wemall/slider/list&#39;,
            method: &#39;GET&#39;,
            data: {},
            header: {
                &#39;Accept&#39;: &#39;application/json&#39;
            },
            success: function(res) {
                that.setData({
                    images: res.data
                })
            }
        })
    }
})

événement de clic sur l'élément

Lier l'événement sur swiper-item via données de liaison de balises personnalisées. Ensuite, récupérez-le via l'événement en fonction.

<!--main.wxml-->
<view>
    <swiper class="swiper_box" indicator-dots="{{indicatorDots}}" vertical="{{vertical}}"
            autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" bindchange="swiperchange">
        <block wx:for="{{images}}">
            <swiper-item bindtap="itemclick" data-id="{{item.id}}" data-name="{{item.name}}">
                <image src="{{item.picurl}}" class="slide-image"/>
            </swiper-item>
        </block>
    </swiper>
</view>
// 轮播item点击事件
itemclick: function(e) {
    wx.showToast({
        title: e.currentTarget.dataset.id + "",
        icon: &#39;success&#39;,
        duration: 2000
    })
},

Notez que les données correspondantes peuvent être obtenues via un événement dans la fonction liée. Par exemple : e.currentTarget.dataset.id correspond à data-id

dans wxml. Bien sûr, il existe un autre moyen. Il n'est pas nécessaire de lier des événements, en enroulant une balise a autour de chaque élément de swiper pour accéder à la page sous forme de lien hypertexte.

Pour plus de guides de développement de mini-programmes WeChat : pour les articles liés aux carrousels, veuillez faire attention au site Web PHP 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