小型電商頁(yè)面實(shí)踐-Vant UI框架實(shí)踐-(7)Tab 頁(yè)面下嵌套Swipe 輪播廣告

在上一個(gè)章節(jié)中,我們的已經(jīng)把Tab導(dǎo)航組件應(yīng)用上了,那接下來(lái)就是每個(gè)Tab頁(yè)面下對(duì)應(yīng)的不同的頁(yè)面了泼掠。
今天暫且再Tab頁(yè)面下內(nèi)嵌對(duì)應(yīng)的PullRefresh 下拉刷新組件和Swipe 輪播廣告兩個(gè)組件。

最終效果為:

GIF333.gif

首先我的Tab下都可以進(jìn)行下拉刷新頁(yè)面亿扁,那么我們則需要再Tab內(nèi)嵌的子頁(yè)面的外層嵌套我們的PullRefresh 下拉刷新組件。

1:引入PullRefresh 下拉刷新組件和即將用到的Swipe 輪播廣告組件

image.png

2:使用對(duì)于的PullRefresh 下拉刷新組件

image.png

3:配置相關(guān)的屬性值

image.png

4:通過(guò)判斷對(duì)應(yīng)的標(biāo)題文字來(lái)展示對(duì)應(yīng)Tab內(nèi)嵌的子頁(yè)面

image.png

5:使用Swipe 輪播廣告展示相關(guān)的廣告圖片

      <div v-if="title[index]== '今日推薦'" class="contain">
                                <!--內(nèi)容 {{ title[index] }}-->
                                <!-- 輪播組件 -->
                                <van-row>
                                    <van-col span="24">
                                        <van-swipe :autoplay="3000">
                                            <van-swipe-item v-for="(image, index) in images_jinri" :key="index">
                                                <img v-lazy="image" style="width:100%;height:160px;"
                                                     @click.stop="redirect('/goods/id_0')"/>
                                            </van-swipe-item>
                                        </van-swipe>
                                    </van-col>
                                </van-row>
                            </div>

6:配置Swipe 輪播廣告展示相關(guān)的廣告圖片來(lái)源

image.png

注意事項(xiàng):

因?yàn)槲覀冊(cè)賁wipe 輪播廣告使用了懶加載圖片的方法鸟廓,所以還需要配置懶加載的圖片
方法是需要再main.js里引入對(duì)應(yīng)的懶加載庫(kù)


image.png

7:修改輪播圖下的圓點(diǎn)顏色(使用深度選擇器)

image.png

8:最終效果為:

GIF333.gif

完整的代碼為

<template>
    <div id="app">
        <!-- 搜索區(qū) -->
        <van-row class="row-1">
            <van-col span="3" class="cols">
                <a href="#">登錄</a>
            </van-col>
            <van-col span="19" class="cols">
                <form action="/">
                    <van-search
                            class="search"
                            style="background-color:white;height:35px;border-radius:22px;"
                            placeholder="搜索:衣服"
                    />
                </form>
            </van-col>
            <van-col span="2" class="cols">
                <van-icon name="qr" class="classfic"/>
            </van-col>
        </van-row>
        <!-- 標(biāo)簽區(qū)域 -->
        <van-row>
            <van-col span="24">
                <van-tabs @click="onClick" sticky title-active-color="#E32DAB" color="#E32DAB" :line-width="100"
                          :line-height="2">
                    <van-tab v-model="active" v-for="index in 7" :title="title[index]" :key="index.id" class="tab">
                        <!--內(nèi)容 {{ index }}-->
                        <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
                            <!--根據(jù)標(biāo)題來(lái)匹配顯示對(duì)于的組件內(nèi)的內(nèi)容信息-->
                            <!--今日推薦區(qū)域-->
                            <div v-if="title[index]== '今日推薦'" class="contain">
                                <!--內(nèi)容 {{ title[index] }}-->
                                <!-- 輪播組件 -->
                                <van-row>
                                    <van-col span="24">
                                        <van-swipe :autoplay="3000">
                                            <van-swipe-item v-for="(image, index) in images_jinri" :key="index">
                                                <img v-lazy="image" style="width:100%;height:160px;"
                                                     @click.stop=""/>
                                            </van-swipe-item>
                                        </van-swipe>
                                    </van-col>
                                </van-row>
                            </div>

                            <div v-if="title[index]== '時(shí)尚'" class="contain">
                                <!--內(nèi)容 {{ title[index] }}-->
                                <!-- 輪播組件 -->
                                <van-row>
                                    <van-col span="24">
                                        <van-swipe :autoplay="3000">
                                            <van-swipe-item v-for="(image, index) in images_shichang" :key="index">
                                                <img v-lazy="image" style="width:100%;height:160px;"
                                                     @click.stop=""/>
                                            </van-swipe-item>
                                        </van-swipe>
                                    </van-col>
                                </van-row>
                            </div>

                        </van-pull-refresh>
                    </van-tab>
                </van-tabs>
            </van-col>
        </van-row>

        <van-tabbar active-color="#07c160" v-model="active_tanb_bootem">
            <van-tabbar-item icon="wap-home">首頁(yè)</van-tabbar-item>
            <!--<van-tabbar-item icon="pending-evaluate">社區(qū)</van-tabbar-item>-->
            <van-tabbar-item icon="shopping-cart" info="5">購(gòu)物車</van-tabbar-item>
            <van-tabbar-item icon="shopping-cart" info="5">購(gòu)物車</van-tabbar-item>
            <van-tabbar-item icon="contact" info="2">我的</van-tabbar-item>
        </van-tabbar>
    </div>
</template>

<script>
    import {
        Tab, Tabs,
        Tabbar,
        TabbarItem,
        Search,
        Row, Col, Icon,
        Toast,
        PullRefresh,
        Swipe, SwipeItem,
    } from 'vant';

    export default {
        components: {
            [Tab.name]: Tab,
            [Tabs.name]: Tabs,
            [Tabbar.name]: Tabbar,
            [TabbarItem.name]: TabbarItem,
            [Search.name]: Search,
            [Row.name]: Row,
            [Col.name]: Col,
            [Icon.name]: Icon,
            [PullRefresh.name]: PullRefresh,
            [Swipe.name]: Swipe,
            [SwipeItem.name]: SwipeItem,
        },
        data() {
            return {
                title: ['', '今日推薦', '時(shí)尚', '美妝', '家電', '家居', '國(guó)際', '生活'],
                active: 0,
                active_tanb_bootem: 0,
                isLoading: false,
                images_jinri: [
                    "https://a2.vimage1.com/upload/flow/2018/06/12/50/15287856410421.jpg",
                    "https://a3.vimage1.com/upload/flow/2018/06/06/29/15282588215380.jpg",
                    "https://a2.vimage1.com/upload/flow/2018/06/11/129/15287110698394.jpg",
                    "https://a3.vimage1.com/upload/flow/2018/06/11/79/15286841592012.jpg"
                ],
                images_shichang: [
                    "https://a3.vimage1.com/upload/flow/2018/06/12/65/15287673095242.jpg",
                    "https://a3.vimage1.com/upload/flow/2018/06/11/169/15287297288138.jpg",
                    "https://a2.vimage1.com/upload/flow/2018/06/11/78/15287120642222.jpg",
                    "https://a2.vimage1.com/upload/flow/2018/06/08/161/15284659187259.jpg",
                    "https://a2.vimage1.com/upload/flow/2018/06/08/119/15284419569224.jpg"
                ]
            };
        },
        methods: {
            onClick(index, title) {
                Toast('點(diǎn)擊結(jié)算' + index);
            },
            onRefresh() {
                setTimeout(() => {
                    Toast('刷新成功');
                    this.isLoading = false;
                }, 500);
            },
        }
    };
</script>

<style lang="less" scoped>
    @import url('../assets/css/home.less');
    /*!*深度選擇器的使用*!*/
    /deep/ .van-search__content {
        background-color: #fff;
    }

    /deep/ .van-swipe__indicator--active {
        background-color: #E32DAB;
    }


</style>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末从祝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子引谜,更是在濱河造成了極大的恐慌牍陌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件员咽,死亡現(xiàn)場(chǎng)離奇詭異毒涧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)骏融,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門链嘀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萌狂,“玉大人档玻,你說(shuō)我怎么就攤上這事∶2兀” “怎么了误趴?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)务傲。 經(jīng)常有香客問(wèn)我凉当,道長(zhǎng),這世上最難降的妖魔是什么售葡? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任看杭,我火速辦了婚禮,結(jié)果婚禮上挟伙,老公的妹妹穿的比我還像新娘楼雹。我一直安慰自己,他們只是感情好尖阔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布贮缅。 她就那樣靜靜地躺著,像睡著了一般介却。 火紅的嫁衣襯著肌膚如雪谴供。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天齿坷,我揣著相機(jī)與錄音桂肌,去河邊找鬼数焊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛崎场,可吹牛的內(nèi)容都是我干的昌跌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼照雁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蚕愤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起饺蚊,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤萍诱,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后污呼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裕坊,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年燕酷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了籍凝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苗缩,死狀恐怖饵蒂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酱讶,我是刑警寧澤退盯,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站泻肯,受9級(jí)特大地震影響渊迁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灶挟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一琉朽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稚铣,春花似錦箱叁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至曹锨,卻和暖如春孤个,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沛简。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工齐鲤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斥废,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓给郊,卻偏偏與公主長(zhǎng)得像牡肉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子淆九,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355