日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序入门与实战之阅读列表与setData数据的绑定

發布時間:2024/3/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序入门与实战之阅读列表与setData数据的绑定 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LinUI組件庫介紹

https://doc.mini.talelin.com/
Lin UI 是基于 微信小程序原生語法 實現的組件庫。遵循簡潔,易用的設計規范。

安裝、編譯LinUI

https://doc.mini.talelin.com/start/

通過npm引入LinUI,有如圖所示的文件夾就表示引入成功:

但我們這時候并不能直接使用,要先在微信開發者工具選項找到構建npm,并點擊:

完成構建后會生成一個叫做miniprogram_npm的文件夾,我們開發微信小程序使用的LinUI組件直接來源于這個文件夾:

如何使用自定義組件

這里我們用LInui組件中的avatar舉例,首先我們不能像直接使用原生組件那樣直接引用,先要在所在頁面的json文件下的usingComponents里配置:

{"usingComponents": {"l-avatar" :"/miniprogram_npm/lin-ui/avatar/index"} }

接著我們就可以使用我們配置的名稱來使用組件:

<l-avatar></l-avatar>

avatar頭像和昵稱組件

<l-avatar class="l-avatar" placement="bottom" shape="circle" open-data="{{['userAvatarUrl','userNickName']}}" size="180"/>

實現效果:

通過open-data接收數組,通過傳入userAvatarUrl、userNickName控制顯示用戶頭像和昵稱。不過目前好像已經被微信官方廢棄。
https://developers.weixin.qq.com/community/develop/doc/000e881c7046a8fa1f4d464105b001?blockType=1&page=2#comment-list
為了實現頭像距離頂部的效果,我們需要再自己寫一個class:

.l-avatar{margin-top: 160rpx; }

最終效果:

添加新的編譯模式實現在編譯器中頁面的快速切換

新建一個posts頁面,同樣使用new page快速創建:

在我們還沒有完成代碼的前提下,該怎么能看到頁面效果呢:

  • 設置app.json中pages數組的第一項為你想要查看的頁面
  • 同樣在app.json下設置entryPagePath為你想要查看的頁面
  • 添加新的編譯模式:

  • 我們可以通過編譯模式來快速切換不同的頁面:

    初步了解Swiper和Swiper-Item

    在posts頁面頂部導航欄背景顏色我們需要紅色,除了啟動頁的其他頁面也要用到紅色,所以我們就只需要單獨為welcome頁面設置一個背景顏色,在app,json設置所有的頁面頂部導航欄默認為紅色。

    swiper:滑塊視圖容器。其中只可放置swiper-item組件,否則會導致未定義的行為。
    swiper:僅可放置在swiper組件中,寬高自動設置為100%。

    Swiper組件通過插槽設置輪播內容

    由于我們只能在swiper中使用swiper-item,所以如果想實現自定義的輪播效果,就要在swiper-item中嵌套布局,我們稱之為插槽。但我們如果僅僅是設置src屬性,我們并不能看到很多的效果,圖片沒辦法擴展到整個屏幕的寬度。

    <view><swiper><swiper-item><image src="/images/bestplayers.png"></image></swiper-item><swiper-item>Content</swiper-item><swiper-item>Content</swiper-item></swiper> </view>

    Swiper組件內容的高寬設置技巧

    為了實現比較好的效果,我們需要對swiper和swiper-item下的image設置屬性:

    swiper{width: 100%;height: 460rpx; } swiper image{width: 100%;height: 460rpx; } <view><swiper ><swiper-item><image src="/images/bestplayers.jpg"></image></swiper-item><swiper-item><image src="/images/bestplayers.jpg"></image></swiper-item><swiper-item><image src="/images/bestplayers.jpg"></image></swiper-item></swiper> </view>

    屬性設置一定要注意字符串以JS表達式的區別

    我們通過設置indicator-dots="true"可以實現顯示指示點,通過設置 autoplay="true"來實現自動播放:

    <view><swiper indicator-dots="true" autoplay="true"><swiper-item><image src="/images/bestplayers.jpg"></image></swiper-item><swiper-item><image src="/images/bestplayers.jpg"></image></swiper-item><swiper-item><image src="/images/bestplayers.jpg"></image></swiper-item></swiper> </view>

    在這里我們有一點要特別注意,那就是字符串以JS表達式的區別,當我們設置indicator-dots=“false"的時候我們發現輪播圖還是有指示點,如果要取消指示點可以通過刪除indicator-dots這個屬性,因為默認的是沒有指示點,若想要通false來實現則要使用indicator-dots=”{{false}}",因為在javascript中字符串代表true,空字符串代表false。


    字符串代表true,所以就算我們隨便輸入一個字符串,都還是會實現有指示器的效果:

    布爾屬性值賦值的良好建議

    在設置布爾屬性的時候最好都要加上雙花括號,則花括號里面的值會被當做JavaScript去計算,若我們在雙花括號里面寫上0,則表示的是false。當我們的屬性要標記為true的時候,我們可以只寫這個屬性,默認標記為true。

    Swiper組件的其他重要屬性設置

    在swiper下設置vertical屬性可以實現指示點的豎直顯示和豎直滑動:

    通過設置circular可以實現循環滑動,通過interval實現自動切換時間間隔(默認值為5000ms)

    用Flex布局組織布局思路

    我們要實現的效果:

    先思考是要水平還是垂直布局,新聞列表是從上往下的垂直布局,由行構成垂直布局。每個新聞總共有五行,頭像一行,標題一行,圖片一行,概述一行,收藏一行。開始碼代碼:

    <view><view><image></image><text></text></view><text></text><image></image><text></text><view></view></view>

    添加內容:

    <view><view><image src="/images/avatar/1.png"></image><text>Nov 18 2020</text></view><text>2020LPL夏季賽季后賽觀賽指南</text><image src="/images/bestplayers.jpg"></image><text>8月9號,LPL常規賽收官之戰結束,在事關季后賽輪次的比賽中關鍵對局中,SN戰勝了FPX,為本賽季常規賽畫上句號,進入季后賽的戰隊依次為,TES、JDG、IG、SN、V5、LGD、WE、FPX</text><view><image src="/images/collection.png"></image><text>92</text><image src="/images/view.png"></image><text>104</text></view></view>


    設置容器的樣式:

    .post-container{display: flex;flex-direction: column;margin-top: 20rpx;margin-bottom: 40rpx;background-color: #fff;border-top:1px solid #ededed;border-bottom:1px solid #ededed;padding-bottom: 10rpx; }

    設置頭像的樣式:

    .post-author{width: 60rpx;height: 60rpx;vertical-align: middle; }

    頭像代碼:

    <view class="post-author-date"><image class="post-author" src="/images/avatar/1.png"></image><text class="post-date">Nov 18 2020</text></view>


    我們通過同時對頭像和日期設置vertical-align: middle來實現垂直居中,但這不算是一個好的辦法,最好采用flex的align-items: center來設置居中,前提是flex-direction: row;

    .post-author-date{/* margin-top: 10rpx;margin-bottom: 20rpx;margin-left: 10rpx; */display: flex;flex-direction: row;margin: 10rpx 0 20rpx 10rpx;align-items: center; }

    設置文章標題樣式:

    .post-title{font-size: 34rpx;font-weight: 600;margin-bottom: 20rpx;color: #333; }

    設置圖片樣式:

    .post-iamge{width: 100%;height: 340rpx;margin-bottom: 30rpx; }

    底部容器、文字、圖標樣式:

    .post-content{color: #666;font-size: 28rpx;margin-bottom: 20rpx;margin-left: 20rpx;line-height: 40rpx;letter-spacing: 2rpx; }.post-like{display: flex;flex-direction: row;margin-left: 20rpx;align-items: center;} .post-like-image{height: 32rpx;width: 32rpx;margin-right: 16rpx; } .post-like-font{margin-right: 40rpx;font-size: 20rpx; }

    最終實現效果:

    總結

    以上是生活随笔為你收集整理的微信小程序入门与实战之阅读列表与setData数据的绑定的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。