微信小程序block的使用教程
經(jīng)過一年的發(fā)展,微信小程序發(fā)展火熱,本期就介紹下小程序的一些使用。
在安卓中我們經(jīng)常會使用ListView/GradeView/RecyclerView來實現(xiàn)展示循環(huán)數(shù)據(jù)。那么小程序中怎么到呢。其實很簡單,使用block就可以了。
下面我們先看下效果圖:

這個布局其實很簡單,大致分為3部分,上+下(左75%,右25%)。這里就不在細(xì)說了。那么這里要怎么寫wxml呢。下面貼代碼:

這邊很清晰的可以看出<block></block>這對標(biāo)簽,而數(shù)據(jù)源便是wx:for="{{goodlist}}"中的goodlist了。接著往下走,我們可以看到點擊標(biāo)簽的時候有bindtap事件,這里就不做說明了。我們重點看下{{item.StartCity}},這是什么意思呢,其實這就是獲取數(shù)據(jù)源中的數(shù)據(jù),而item代表的是goodlist中的一條數(shù)據(jù),StrrtCity等都是數(shù)據(jù)源中的一些具體屬性。你可以更據(jù)需要直接調(diào)頭你想要的字段名就可以了。block到此基本結(jié)束了。最后此處設(shè)置了一個view,用來代替當(dāng)數(shù)據(jù)源為空時顯示無數(shù)據(jù)頁面提示。
下面順便介紹下數(shù)據(jù)格式處理(時間格式轉(zhuǎn)化):
在實際場景中我們可能會需要將時間轉(zhuǎn)化為幾分鐘前,幾小時前,幾天前等。那么我們數(shù)據(jù)庫中存放的一般是datetime格式數(shù)據(jù)。我們需要轉(zhuǎn)化處理。
處理時間的時候需要注意的是:ios和android上的時間格式不同。ios時間是以2018/04/01,所以需要先將時間格式轉(zhuǎn)化為/格式。不然你的小程序時間轉(zhuǎn)化只會對安卓生效哦。具體轉(zhuǎn)化代碼:
for (var i = 0; i < goodsList.length; i++) {
var PublishDatetime = goodsList[i].PublishDatetime.replace(/([\d\-]+)T(\d+:\d+)\:.*/, "$1 $2");//將帶T的時間格式轉(zhuǎn)化掉.
PublishDatetime = PublishDatetime.replace(/-/g, "/");// 將格式‘-'轉(zhuǎn)化為‘/'
//換算時間戳,計算得到與當(dāng)前時間的差距
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - new Date(PublishDatetime).getTime();
//console.log("diffValue:" + diffValue);
if (diffValue < 0) {
return;
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (monthC >= 1) {
if (monthC <= 12)
goodsList[i].PublishDatetime = "" + parseInt(monthC) + "月前";//將時間替換掉想要的數(shù)據(jù)
else {
goodsList[i].PublishDatetime = "" + parseInt(monthC / 12) + "年前";//將時間替換掉想要的數(shù)據(jù)
}
}
else if (weekC >= 1) {
goodsList[i].PublishDatetime = "" + parseInt(weekC) + "周前";//將時間替換掉想要的數(shù)據(jù)
}
else if (dayC >= 1) {
goodsList[i].PublishDatetime = "" + parseInt(dayC) + "天前";//將時間替換掉想要的數(shù)據(jù)
}
else if (hourC >= 1) {
goodsList[i].PublishDatetime = "" + parseInt(hourC) + "小時前";//將時間替換掉想要的數(shù)據(jù)
}
else if (minC >= 1) {
goodsList[i].PublishDatetime = "" + parseInt(minC) + "分鐘前";//將時間替換掉想要的數(shù)據(jù)
} else {
goodsList[i].PublishDatetime = "剛剛";//將時間替換掉想要的數(shù)據(jù)
}
}
//最后將轉(zhuǎn)化后的時間重新賦值給數(shù)據(jù)源
總結(jié)
以上所述是小編給大家介紹的微信小程序block的使用教程,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
javascript中call,apply,bind的區(qū)別詳解
這篇文章主要介紹了javascript中call,apply,bind的區(qū)別詳解,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-12-12
JS中async/await實現(xiàn)異步調(diào)用的方法
這篇文章主要介紹了async/await實現(xiàn)異步調(diào)用的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
小程序scroll-view組件實現(xiàn)滾動的示例代碼
這篇文章主要介紹了小程序scroll-view組件實現(xiàn)滾動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
javascript中的相等操作符(==與===區(qū)別)
這篇文章主要介紹了javascript中的相等操作符(==與===區(qū)別),需要的朋友可以參考下2019-12-12
JavaScript隊列、優(yōu)先隊列與循環(huán)隊列
這篇文章主要為大家詳細(xì)介紹了JavaScript隊列、優(yōu)先隊列與循環(huán)隊列的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11

