WeChat ミニ プログラム開発ガイド: カルーセルについて

高洛峰
リリース: 2017-03-04 14:44:28
オリジナル
1702 人が閲覧しました

このアプリケーションで最も一般的なのはおそらくカルーセルです。この記事はカルーセルの実装について説明しており、内容の一部は公式ドキュメントから引用しており、実際の運用におけるいくつかの問題や経験を追加しています。
この記事は、WeChat ミニ プログラムのパブリック ベータ版、IDE: WeChat Developer Tools 0.10.102800 に基づいています

コンポーネント スワイパー

WeChat ミニ プログラム開発ガイド: カルーセルについて

vertical 属性が設定されていない場合、またはvertical="false" の場合、インジケーターポイントはコンポーネントの下部にあり、画像カルーセルです。左から右に、効果は次のようになります:

WeChat ミニ プログラム開発ガイド: カルーセルについて

vertical="true" が設定されている場合、インジケーターポイントはコンポーネントの右側にあります。画像カルーセルは下から上にあり、効果は次のとおりです:

WeChat ミニ プログラム開発ガイド: カルーセルについて

注: スワイパーはコンテナーのクラスビューですが、そこに配置できるのはコンポーネントのみです。他のノードが配置されている場合、それらは自動的に削除されます。 。

swiper-item

コードは次のとおりです:

<!--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
                })
            }
        })
    }
})
ログイン後にコピー

item click events

swiper-item でイベントをバインドし、データ カスタム タグを介してデータをバインドします。次に、関数内のイベントを通じてそれを取得します。

<!--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
    })
},
ログイン後にコピー

対応するデータはバインドされた関数のイベントを通じて取得できることに注意してください。例: e.currentTarget.dataset.id は、wxml の data-id に対応します

もちろん、別の方法もあります。各スワイパー項目を a タグで囲み、ハイパーリンクとしてページにジャンプすることで、イベントをバインドする必要はありません。

その他の WeChat ミニ プログラム開発ガイド: カルーセルに関連する記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート