小程序rpx;swiper組件;數(shù)據(jù)綁定,srtData方法綁定,數(shù)據(jù)庫導(dǎo)出數(shù)據(jù);wx:if;wx:for;事件;template模板

目錄:rpx;swiper組件;數(shù)據(jù)綁定,srtData方法綁定,數(shù)據(jù)庫導(dǎo)出數(shù)據(jù);wx:if;wx:for;事件;template模板


<!-- <view> 基本等同于web 的<div>,作用:容器,分隔文檔 -->

<!-- image 不設(shè)置寬高時,默認(rèn)width:300px width:225px -->

------------rpx------------

rpx會根據(jù)不同屏幕自動響應(yīng),改變大小,比如設(shè)計圖中是ip6,元素尺寸是750x500px,我們可以直接使用750x500rpx單位

pt邏輯像素可以暫時理解為屏幕寬高,也就是屏幕有多少像素;;px理解為每個像素中有多少個物理像素點,每個像素中的像素點越多,分辨率越高越清晰,但是人類最多能分辨2倍。

小程序內(nèi)部已經(jīng)做好了適配,它有自己的適配邏輯,在i6下,設(shè)計稿上的1px就對應(yīng)1rpx,其他換算則比較麻煩,所以建議都是以i6設(shè)計

----------swiper組件-----------

容器使用swiper標(biāo)簽,里面的子元素用swiper-item標(biāo)簽,swiper具體屬性查閱文檔

------------數(shù)據(jù)綁定-------

小程序不存在DOM節(jié)點,需要傳輸數(shù)據(jù)給WXML可以使用數(shù)據(jù)綁定,在js中的data中存放好數(shù)據(jù),然后在WXML中引入——{{數(shù)據(jù)名}}

---------setData方法綁定數(shù)據(jù)-----------

1.小程序從服務(wù)器獲取數(shù)據(jù),都是在頁面開始加載時就獲取,所以是在onLoad事件中獲取

2.因為數(shù)據(jù)綁定都是需要放在data中,所以需要把onLoad中獲取到的數(shù)據(jù)綁定到data中——this.setData( 存放數(shù)據(jù)的變量名稱)

從數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)到j(luò)s的data中的方法

一般不可能直接在當(dāng)前js中使用數(shù)據(jù)渲染,都是在數(shù)據(jù)庫中引入到當(dāng)前js中。

引入方法: -------先在數(shù)據(jù)庫中創(chuàng)建導(dǎo)出口:module.exports----------

module.exports = { 導(dǎo)出的名稱 (屬性)postList : 存放數(shù)據(jù)的名稱? (屬性值)local_database }? ?——? 可以導(dǎo)出多個數(shù)據(jù),這里是利用對象,把數(shù)據(jù)當(dāng)做屬性值付給一個屬性

? ? ? ? ? ? ? ? ? ----------在需要導(dǎo)入數(shù)據(jù)的地方創(chuàng)建導(dǎo)入口:require----------

var postData = require ( ' 數(shù)據(jù)庫的路徑,需要一級級去找' ) —— 導(dǎo)入后,在頁面加載時,也就是onLoad事件中,把數(shù)據(jù)set到data中

this.setData({ posts_key : postsData.postList })? ( 因為是利用對象存儲數(shù)據(jù)的,所以需要寫變量名里面的屬性名,獲取到里面的屬性值,也就是數(shù)據(jù) )


-----------wx:if 條件渲染----------

wx:if="{{數(shù)據(jù)值}}"--->條件渲染指令(元素顯示、隱藏)

數(shù)據(jù)名 : false? 隱藏

數(shù)據(jù)名 : true? 顯示

引號內(nèi)如果為空則會被判定為false,會隱藏;如果隨便寫一個非空的字符串,則會被判定為true,會顯示。(實際上不會這么用)

------------------wx:for循環(huán)渲染-------------------

參考文檔:https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/list.html

先把數(shù)據(jù)傳到data中,如果數(shù)據(jù)是數(shù)組形式,需要將數(shù)組轉(zhuǎn)化成對象的屬性值

如var date = [ age : "18", sex : "男" ],——this.setData({data_key : data})這樣data才能接收到數(shù)據(jù)

for循環(huán):一般把要循環(huán)的結(jié)構(gòu)都包裹在一個容器中,然后在這個父容器的屬性里寫上wx:for=“{{data_key}}”,綁定數(shù)據(jù);然后里面的每項數(shù)據(jù)添加一個名字:wx:for-item=“item”,默認(rèn)子元素名字就是item,不設(shè)置也可以直接item.來引入對應(yīng)的數(shù)據(jù);;然后在相應(yīng)的地方引入對應(yīng)的數(shù)據(jù):{{item.age}}、{{item.sex}};



------------小程序事件-----------

小程序事件名稱參考文檔,點擊事件是tap,綁定點擊事件前面需要加bind

產(chǎn)生事件--》捕捉事件--》回調(diào)函數(shù)--》處理事件

1.tap事件:前面要加bind或catch; catch是阻止事件冒泡,哪里加就停在哪里,基本都是使用bind,冒泡;

2.在js的page中寫入函數(shù)進行操作

3.wx.navigateTo({url:" "})---跳轉(zhuǎn)頁面方法,可返回;wx.redirectTo方法不能返回上個頁面


----------------template模板-------------------

1、如果頁面結(jié)構(gòu)需要多個頁面引用,可以使用template模板,先創(chuàng)建一個目錄專門放模板,然后新建wxml和wxss

2、在wxml中使用template標(biāo)簽,并設(shè)置屬性 name,也就是這個模板的名字,然后把頁面結(jié)構(gòu)剪切到template標(biāo)簽中

3、在需要引用模板的頁面的wxml中,使用import標(biāo)簽引入,<import src="模板中的wxml" /> 單標(biāo)簽后面要閉合

4、在頁面引入模板后,在需要添加模板的位置里使用template標(biāo)簽引入,并設(shè)置 is 屬性,也就是模板的名字,并且需要把item傳進去,里面的結(jié)構(gòu)才能引用到數(shù)據(jù),item.title、item.imgsrc等;這時就會有個問題,如果數(shù)據(jù)里面引用數(shù)據(jù)的前綴不是item,那就對不上引用不了,所以干脆把item前綴給去掉,然后外面template標(biāo)簽中,直接傳data="{{ ...item }}",里面的數(shù)據(jù)引用就不需要加前綴了,...是es6的擴展運算符

5、把結(jié)構(gòu)的樣式放到模板的wxss中,方便其他頁面引入

6、在需要引入樣式的頁面的wxss中引入模板樣式:@import “ 模板樣式路徑 ”

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容