微信小程序之(zhī)狀态管理A
發表時(shí)間:2021-3-31
發布人(rén):融晨科技
浏覽次數:42
其實這(zhè)個(gè)标題 不(bù)是(shì)很對 主要(yào / yāo)是(shì)最近小程序項目中 有這(zhè)麽一個(gè)狀态
所有商品都共用一個(gè)商品詳情頁面
大(dà)概就(jiù)是(shì)這(zhè)樣子(zǐ) 爲(wéi / wèi)了(le/liǎo)公司 保險起見,一些展示的(de)内容已經處理 但是(shì)無傷大(dà)雅
就(jiù)是(shì)這(zhè)麽兩個(gè)按鈕 左側粉色的(de)爲(wéi / wèi)商城活動價格,右側爲(wéi / wèi)活動價格
那麽說(shuō)什麽時(shí)候展示什麽樣子(zǐ)的(de)按鈕啊呢?
首先的(de)思路爲(wéi / wèi)判斷該商品是(shì)否屬于(yú)我們做的(de)活動中的(de)商品,如果是(shì)我們活動中的(de)商品,那麽右側的(de)按鈕是(shì)要(yào / yāo)出(chū)現的(de),若右側按鈕出(chū)現,那麽左側按鈕則想圖片中展示一樣出(chū)現
若改商品不(bù)是(shì)屬于(yú)參與活動的(de)商品那麽右側按鈕是(shì)不(bù)出(chū)現的(de) 左側按鈕則是(shì)平鋪 而(ér)并非一半的(de)展示
問題來(lái)了(le/liǎo)
後天返回給你活動開始時(shí)間,活動結束時(shí)間,以(yǐ)及活動開始時(shí)間提前的(de)小時(shí), 活動結束延時(shí)的(de)時(shí)間
是(shì)不(bù)是(shì)懵逼了(le/liǎo) 什麽啊這(zhè)都 什麽叫做活動開始時(shí)間提前的(de)小時(shí) 和(hé / huò)活動結束延時(shí)的(de)時(shí)間
是(shì)這(zhè)樣的(de):
1.任何活動都不(bù)是(shì)在(zài)摸個(gè)時(shí)間段突然的(de)開始,沒有一點點防備 也(yě)沒有一絲顧慮 它就(jiù)這(zhè)樣出(chū)現,所以(yǐ)要(yào / yāo)有提前的(de)預示,
也(yě)就(jiù)是(shì)在(zài)活動開始之(zhī)前的(de)某個(gè)時(shí)刻,這(zhè)個(gè)活動按鈕是(shì)要(yào / yāo)出(chū)現的(de),在(zài)它還沒出(chū)現之(zhī)前呢 ,正常購買的(de)按鈕是(shì)正常平鋪的(de),它的(de)出(chū)現就(jiù)是(shì)一人(rén)一半, but 點擊是(shì)沒有作用的(de) 因爲(wéi / wèi)活動沒有開始 是(shì)不(bù)會讓你先買的(de),
會有好的(de)給你彈出(chū)一個(gè)提示框 活動未開始
2. 當 當前時(shí)間到(dào)活動開始時(shí)間,該按鈕就(jiù)可以(yǐ)被你爲(wéi / wèi)所欲爲(wéi / wèi)的(de)點擊了(le/liǎo)跳轉 ,簡直就(jiù)是(shì)旋轉,跳躍 我眯着眼,但是(shì),敲黑闆 雖說(shuō)我們這(zhè)歡天喜地(dì / de)的(de)點擊這(zhè)活動價格的(de)按鈕,花着超低的(de)價格,買着超值的(de)産品
但是(shì) 地(dì / de)主家也(yě)有沒餘糧的(de)時(shí)候,庫存終将會空,那麽庫存空了(le/liǎo),還能下單麽?當然不(bù)能 不(bù)然你下單了(le/liǎo),我沒貨了(le/liǎo),你幹麽!是(shì)不(bù)是(shì),所以(yǐ)這(zhè)時(shí)候需要(yào / yāo)再次判斷,此時(shí)庫存是(shì)否爲(wéi / wèi)0 ,如果庫存爲(wéi / wèi)0了(le/liǎo),此時(shí)活動
按鈕要(yào / yāo)顯示另外一種風格 簡直就(jiù)是(shì)百變大(dà)咖秀啊,什麽風格呢 首先就(jiù)是(shì)不(bù)能購買了(le/liǎo),若是(shì)你慘無人(rén)道(dào)的(de)點擊它,它會友好的(de)告訴你商品已售罄,另外就(jiù)是(shì)樣式了(le/liǎo) 延時(shí)要(yào / yāo)緻灰,從而(ér)按鈕中顯示的(de)也(yě)不(bù)是(shì)那個(gè)心動的(de)活動價格了(le/liǎo)
而(ér)是(shì)已售罄
3 當 當前時(shí)間已經超過了(le/liǎo)活動截止時(shí)間,但是(shì)我們不(bù)會那麽無情的(de)就(jiù)立刻就(jiù)讓活動按鈕消失的(de),而(ér)是(shì)會繼續展示若幹時(shí)間的(de),但是(shì) 展示歸展示,想購買?那就(jiù)時(shí)刻關注我們的(de)活動吧?彈出(chū) 活動已結束的(de)字樣 以(yǐ)及按鈕上(shàng)面
顯示的(de)是(shì)已結束
怎麽樣這(zhè)麽一套天馬流星拳下來(lái)是(shì)不(bù)是(shì)有點懵逼,甚至感覺冷冷的(de)冰雨在(zài)臉上(shàng)胡亂的(de)拍呢:
正題:
思路:
1.我們要(yào / yāo)分析,活動的(de)按鈕什麽時(shí)候出(chū)來(lái)?時(shí)間段如下
看見了(le/liǎo)麽 這(zhè)道(dào)愛的(de)綠光? 就(jiù)是(shì)這(zhè)道(dào)光,如此美妙 隻要(yào / yāo)當前時(shí)間在(zài)這(zhè)個(gè)愛的(de)綠光的(de)範圍内,這(zhè)個(gè)活動按鈕都是(shì)顯示的(de)
<button class="btn right {{product.activityStock == 0 ? 'gray': '' }}" bindtap='toOrder' data-price="1" data-type="Coin1" wx:if="{{activity.coin1Show }}"> <text class='sellOut' wx:if="{{activity.unStart}}">未開始text> <text class='sellOut' wx:if="{{activity.ended}}">已結束text> <text class='sellOut' wx:if="{{activity.doing && product.activityStock == 0}}">已售罄text> <text wx:else>¥0.01text> button>
看見那個(gè)條件了(le/liǎo)麽
wx:if="{{activity.coin1Show }}"
就(jiù)是(shì)它來(lái)判斷 是(shì)否展示該活動按鈕的(de),那麽在(zài)它的(de)後面是(shì)怎麽樣部位認知的(de)秘密呢
首先我在(zài)Page({
data{
在(zài)這(zhè)裏要(yào / yāo)搞事情 定義一個(gè)狀态管理的(de)對象 默認值根據不(bù)同狀态去設置true 和(hé / huò)false
}
}
下文就(jiù)在(zài)微信小程序之(zhī)狀态管理B
data: { product: {}, corp: {}, activity: {coin1Show: false, unStart: false, doing: true, ended: false} },