微信小程序開發-新聞列表之新聞列表綁定開發教程:javascript 一、效果圖預覽二、準備工做
上一篇博客中完成了輪播圖部分,接下來繼續完成下面的新聞列表部分小程序 三、wxml部分新聞列表部分總體使用flex縱向佈局比較合適, <view class="post-container"> <view class="post-author-date"> <image class="post-author" src="{{item.avatar}}"></image> <text class="post-date">{{item.date}}</text> </view> <text class="post-title">{{item.title}}</text> <image class="post-image" src="{{item.imgSrc}}"></image> <text class="post-content">{{item.content}}</text> <view class="post-like"> <image class="post-like-image" src="{{item.view_img}}"></image> <text class="post-like-font">{{item.reading}}</text> <image class="post-like-image" src="{{item.collect_img}}"></image> <text class="post-like-font">{{item.collection}}</text> </view> </view> 四、wxss部分.post-container{ display: flex; flex-direction: column; margin-top: 20rpx; margin-bottom: 40rpx; background-color: #fff; border-bottom: 1px solid #ededed; border-top: 1px solid #ededed; padding-bottom: 5px; } .post-author-date{ margin: 10rpx 0 20rpx 10rpx; } .post-author{ width: 60rpx; height: 60rpx; vertical-align: middle; } .post-date{ margin-left: 20rpx; vertical-align: middle; margin-bottom: 5px; font-size: 26rpx; } .post-title{ font-size: 34rpx; font-weight: 600; color: #333; margin-bottom: 10px; margin-left: 10px; } .post-image{ width: 100%; height: 340rpx; margin: auto 0; margin-bottom: 15px; } .post-content{ color: #666; font-size: 28rpx; margin-bottom: 20rpx; margin-left: 20rpx; letter-spacing: 2rpx; line-height: 40rpx; } .post-like{ font-size: 13px; flex-direction: row; line-height: 16px; margin-left: 10px; } .post-like-image{ width: 16px; height: 16px; margin-right: 8px; vertical-align: middle; } .post-like-font{ vertical-align: middle; margin-right: 20px; } 五、數據綁定
咱們把數據內容單獨放在一個文件夾裏,模擬從網絡加載的狀況微信 如圖,在根目錄新建一個data文件夾,裏面新建一個posts-data.js文件 5.一、posts-data.js在posts-data.js裏定義一個local_database數組xss var local_database=[ { date:"Nov 10 2016", title:"文章標題1", imgSrc:"/images/post/crab.png", avatar:"/images/avatar/1.png", content:"文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介", reading:"92", collection:"65", view_img:"/images/icon/chat.png", collect_img:"/images/icon/view.png", }, { date:"Nov 20 2016", title:"文章標題2", imgSrc:"/images/post/bl.png", avatar:"/images/avatar/2.png", content:"文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介", reading:"88", collection:"66", view_img:"/images/icon/chat.png", collect_img:"/images/icon/view.png", }, { date:"Nov 25 2016", title:"文章標題3", imgSrc:"/images/post/cat.png", avatar:"/images/avatar/3.png", content:"文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介文章簡介", reading:"123", collection:"55", view_img:"/images/icon/chat.png", collect_img:"/images/icon/view.png", } ] 別忘了在posts-data.js文件最後加上輸出函數 module.exports={ postList:local_database } 5.二、post.wxml使用數據綁定:例如用戶頭像圖片的路徑,用雙大括號括起來 裏面和數組裏定義的要相同,而後前面要加上item. 意思是綁定數組裏定義的avatar,代碼以下:佈局 <image class="post-author" src="{{item.avatar}}"></image> 5.三、post.js先把posts-data.js文件引入: var postsData=require('../../data/posts-data.js') 而後在onLoad: 函數內設置Data的值 onLoad:function(options){ // 生命週期函數--監聽頁面加載 this.setData({ posts_key:postsData.postList }) }, 六、for循環在wxml要循環的部分外面加上 <block wx:for="{{posts_key}}" wx:for-item="item"> <view class="post-container"> <view class="post-author-date"> <image class="post-author" src="{{item.avatar}}"></image> <text class="post-date">{{item.date}}</text> </view> <text class="post-title">{{item.title}}</text> <image class="post-image" src="{{item.imgSrc}}"></image> <text class="post-content">{{item.content}}</text> <view class="post-like"> <image class="post-like-image" src="{{item.view_img}}"></image> <text class="post-like-font">{{item.reading}}</text> <image class="post-like-image" src="{{item.collect_img}}"></image> <text class="post-like-font">{{item.collection}}</text> </view> </view> </block> 語法是:
七、源碼下載 |