成都小程序開(kāi)發(fā)需要關(guān)注的幾個(gè)知識(shí)點(diǎn)
小程序中view組件的運(yùn)用相當(dāng)于就是一個(gè)div標(biāo)簽,而text組件相當(dāng)于就是一個(gè)文本標(biāo)簽b/span這姿態(tài),但是,其實(shí)一段文字咱們能夠運(yùn)用text組件來(lái)包裹,也能夠不必text組件而直接運(yùn)用view組件來(lái)包裹,那二者有什么差異呢?
很明顯,小程序給TEXT組件賦予了特別才能。并且運(yùn)用TEXT組件包裹文件更簡(jiǎn)略操控它的樣式。所以,經(jīng)過(guò)一些個(gè)比照和測(cè)驗(yàn),我對(duì)text組件的認(rèn)識(shí)就是兩點(diǎn):
1、用TEXT組件包裹的內(nèi)容好寫(xiě)樣式,來(lái)操控它的顯現(xiàn)UI。
2、在小程序中只要TEXT包圍的文本才可長(zhǎng)按選中這一點(diǎn)小程序給text組件賦予了一個(gè)特點(diǎn)。
二、單位RPX
談一下我對(duì)RPX這個(gè)單位的認(rèn)識(shí), 小程序特有的一個(gè)單位。首要,成都小程序開(kāi)發(fā)能夠看成是一個(gè)移動(dòng)web的開(kāi)發(fā)。 竟然是一個(gè)移動(dòng)端的開(kāi)發(fā),那么咱們就應(yīng)該用移動(dòng)端的思想去寫(xiě)代碼,就移動(dòng)端有一些特別的特征需求咱們?nèi)タ紤],比方:
1、最重要的!如安在不同的機(jī)型上做適配。
2、模擬器ip6分辨率375和規(guī)劃稿750的由于所以然聯(lián)系。
已經(jīng)在多個(gè)當(dāng)?shù)刂v過(guò)了,經(jīng)過(guò)這張圖咱們能夠知道,模擬器ip6的375是一個(gè)邏輯分辨率的概念,單位能夠認(rèn)為是PT,它和咱們?nèi)粘2季种械腃SS像素在數(shù)值大小上是同一個(gè)東西,而物理分辨率(如上750*1334)才是設(shè)備真正分辨率的概念,它和前面說(shuō)的邏輯像素?cái)?shù)值上有一個(gè)對(duì)應(yīng)的聯(lián)系(Reader)。也就是表明一個(gè)邏輯像素包括幾個(gè)物理像素問(wèn)題。知道了這些之后,咱們就來(lái)看一下小程序序里RPX那點(diǎn)事。
咱們來(lái)看一下RPX的作用,看它處理了一個(gè)什么問(wèn)題。
1、ip6下1px =1rpx=0.5pt
這兒說(shuō)的PX指的是物理分辨率1px。這個(gè)就是小程序的規(guī)則,以ip6的物理像素7501334為視覺(jué)稿進(jìn)行規(guī)劃,只不過(guò)小程序定了個(gè)不一樣的單位叫RPX(responsive pixel)。但是,運(yùn)用RPX,小程序會(huì)自動(dòng)在不同的分辨率下進(jìn)行轉(zhuǎn)化。從而到達(dá)適配的作用。
能夠了解:小程序中的RPX相當(dāng)于就是移動(dòng)端開(kāi)發(fā)中PX/rem/em等單位用來(lái)表明視覺(jué)上與設(shè)備分辨率上的一個(gè)邏輯聯(lián)系 。
2、不是一切的單位都合適用rpx。
RPX是會(huì)根據(jù)不同機(jī)型去做自適應(yīng)調(diào)整的,而有時(shí)分咱們不需求去做這么一個(gè)調(diào)整。
比方,關(guān)于一些個(gè)文字介紹,運(yùn)用RPX后,小屏幕看起來(lái)就徹底不可控,顯現(xiàn)作用上看著比較小,乃至出現(xiàn)看不清楚的狀況,還有一些標(biāo)題的狀況,或許咱們?cè)谌魏螜C(jī)型上想要看到的就是一個(gè)加粗定大的作用。這種狀況下,其實(shí)我覺(jué)得咱們?nèi)允悄軌蜻\(yùn)用PX作為單位來(lái)操控比較合適一些。
三、生命周期
小程序也有生命周期,其實(shí)整個(gè)開(kāi)發(fā)流程和前端結(jié)構(gòu)React/vue等都相似,所以,這個(gè)我比照著來(lái)看一下小程序中的生命同期的概念。
關(guān)于那些對(duì)外暴露的辦法,onLoad/onShow/onReady都好了解。在頁(yè)面初始化數(shù)據(jù)的處理方式上有一點(diǎn)需求留意的當(dāng)?shù)兀?/p>
1、在React結(jié)構(gòu)
實(shí)際上跑完willmount之后會(huì)發(fā)生render,然后在履行didmount,如果在didmount中如果有數(shù)據(jù)發(fā)生變化,運(yùn)用setState處理變化后,再去履行render。
在willmount中咱們能夠運(yùn)用this.state.xxx來(lái)初始化變量的值。
2、小程序架構(gòu)
但是,在小程序的生命周期內(nèi),咱們是否能夠在onLoad中運(yùn)用this.data.xxx來(lái)初始化變量呢?
答案是不可的,或許之前的版本是能夠的,查了一下小程序文檔。
四、template
WXML供給模板(template),能夠在模板中界說(shuō)代碼片段,然后在不同的當(dāng)?shù)卣{(diào)用。
模板的運(yùn)用十分簡(jiǎn)略,文檔中的說(shuō)的很清楚,那么關(guān)于這個(gè)清楚的描繪,成都小程序開(kāi)發(fā)對(duì)模板有兩點(diǎn)認(rèn)識(shí):
1、差異于腳本引進(jìn)能夠運(yùn)用絕對(duì)路徑
腳本的引進(jìn)是只能運(yùn)用相對(duì)地址的,而模板的引進(jìn)能夠運(yùn)用絕對(duì)路徑。
2、模板化不是模塊化
有沒(méi)有發(fā)現(xiàn)在模板文件中其實(shí)少了一個(gè)文件,shipin-item-template.js,對(duì),這兒是不能加這個(gè)腳本文件的,所以從事務(wù)視點(diǎn)上來(lái)說(shuō),無(wú)法將邏輯獨(dú)自出來(lái)。因而,小程序時(shí)原模板僅僅一個(gè)模板不是一個(gè)模塊。
五、播放器插件
小程序插件功用是前端不久敞開(kāi)出來(lái)的,關(guān)于它的認(rèn)識(shí)談一下請(qǐng)求流程。