




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
項目二小程序編程基礎(chǔ)任務(wù)一小程序的執(zhí)行順序MiniProgram小程序包含哪些項目文件,每一個頁面包含哪些文件,把它寫在以下橫線里?想一想:Next》在app.js頁面,定義一個App()函數(shù),還可用來注冊一個微信小程序。App()必須在app.js中調(diào)用,必須調(diào)用且只能調(diào)用一次。不然會出現(xiàn)無法預(yù)期的后果。App()函數(shù)里有一些生命周期函數(shù)。Next》小程序注冊函數(shù)App()屬性類型必填說明onLaunchfunction否生命周期回調(diào)——監(jiān)聽小程序初始化。onShowfunction否生命周期回調(diào)——監(jiān)聽小程序啟動或切前臺。onHidefunction否生命周期回調(diào)——監(jiān)聽小程序切后臺。onErrorfunction否錯誤監(jiān)聽函數(shù)。onPageNotFoundfunction否頁面不存在監(jiān)聽函數(shù)。onUnhandledRejectionfunction否未處理的Promise拒絕事件監(jiān)聽函數(shù)。onThemeChangefunction否監(jiān)聽系統(tǒng)主題變化其他any否開發(fā)者可以添加任意的函數(shù)或數(shù)據(jù)變量到Object參數(shù)中,用this可以訪問小程序注冊函數(shù)App()App({ onLaunch(options){console.log("啟動onLaunch")},onShow(options){console.log("啟動onShow")},onHide(){console.log("啟動onHide")},onError(msg){console.log(msg)},globalData:'Iamglobaldata'})小程序注冊函數(shù)App()執(zhí)行結(jié)果如下圖所示。Page(Objectobject)注冊小程序中的一個頁面。接受一個
Object
類型參數(shù),其指定頁面的初始數(shù)據(jù)、生命周期回調(diào)、事件處理函數(shù)等。頁面注冊函數(shù)Page()Next》屬性類型說明dataObject頁面的初始數(shù)據(jù)optionsObject頁面的組件選項,同中的options,需要基礎(chǔ)庫版本behaviorsStringArray類似于mixins和traits的組件間代碼復(fù)用機制,參見,需要基礎(chǔ)庫版本onLoadfunction生命周期回調(diào)—監(jiān)聽頁面加載onShowfunction生命周期回調(diào)—監(jiān)聽頁面顯示onReadyfunction生命周期回調(diào)—監(jiān)聽頁面初次渲染完成onHidefunction生命周期回調(diào)—監(jiān)聽頁面隱藏onUnloadfunction生命周期回調(diào)—監(jiān)聽頁面卸載onPullDownRefreshfunction監(jiān)聽用戶下拉動作onReachBottomfunction頁面上拉觸底事件的處理函數(shù)onShareAppMessagefunction用戶點擊右上角轉(zhuǎn)發(fā)其他any開發(fā)者可以添加任意的函數(shù)或數(shù)據(jù)到Object參數(shù)中,在頁面的函數(shù)中用this可以訪問。這部分屬性會在頁面實例創(chuàng)建時進行一次深拷貝。頁面注冊函數(shù)Page()Next》感
謝
觀
看THANK項目二小程序編程基礎(chǔ)項目二小程序編程基礎(chǔ)任務(wù)二構(gòu)建頁面數(shù)據(jù)MiniProgram定義data數(shù)據(jù):在頁面JS文件page函數(shù)中第一項為data屬性,在data中定義本頁面邏輯處理需要用到的數(shù)據(jù),其中很大一部分?jǐn)?shù)據(jù)將用WXML文件的數(shù)據(jù)渲染。因為小程序JS文件是基于JavaScript編寫的,所以在JS文件中可以定義字符串、數(shù)字、布爾值、對象和數(shù)組等類型的數(shù)據(jù)。Next》頁面數(shù)據(jù)Page({
data:
{
text:
"This
is
page
data.",
sliderOffset:
0,
state:{
genre:[],
genre_index:
0,
model:[],
model_index:
0,
terminalStatus:'',
}
},})獲取data數(shù)據(jù):獲取data中的text和genre_index值需要使用this。Next》頁面數(shù)據(jù)
onLoad:function(options){
var
gener_index=this.data.state.genre_index
console.log(gener_index)
var
text=this.data.text
console.log(text)
}頁面數(shù)據(jù)執(zhí)行效果如下圖所示。內(nèi)容綁定:WXML中的動態(tài)數(shù)據(jù)均來自對應(yīng)Page的data。數(shù)據(jù)綁定使用Mustache語法即{{}}語法將變量包起來。Next》數(shù)據(jù)綁定在index.wxml頁面數(shù)據(jù)綁定,示例代碼如下:<view>{{message}}</view>組件屬性:在小程序組件中,properties是組件的對外屬性,用來接收外界傳遞到組件中的數(shù)據(jù)。Next》數(shù)據(jù)綁定在index.wxml頁面數(shù)據(jù)綁定,示例代碼如下:<viewid="item-{{id}}"></view>控制屬性:在index.wxml頁面數(shù)據(jù)綁定,示例代碼如下Next》數(shù)據(jù)綁定<view
wx:if="{{condition}}">hello,world</view>關(guān)鍵字:true:boolean類型的true,代表真值。false:boolean類型的false,代表假值。Next》數(shù)據(jù)綁定在index.wxml頁面數(shù)據(jù)綁定,示例代碼如下:<checkboxchecked="{{false}}"></checkbox>特別注意:不要直接寫checked="false",其計算結(jié)果是一個字符串,轉(zhuǎn)成boolean類型后代表真值。感
謝
觀
看THANK項目二小程序編程基礎(chǔ)項目二小程序編程基礎(chǔ)任務(wù)三列表渲染MiniProgram在微信小程序中,列表渲染是一種常見的需求,它可以將一組數(shù)據(jù)以列表的形式呈現(xiàn)給用戶。列表渲染在小程序中的實現(xiàn)主要依賴于wx:for指令,它允許遍歷數(shù)組或?qū)ο螅γ總€元素進行操作。Next》列表渲染簡介在組件上使用
wx:for
控制屬性綁定一個數(shù)組,即可使用數(shù)組中各項的數(shù)據(jù)重復(fù)渲染該組件。默認(rèn)數(shù)組的當(dāng)前項的下標(biāo)變量名默認(rèn)為
index,數(shù)組當(dāng)前項的變量名默認(rèn)為
item。Next》wx:for和wx:key的使用Page({data:{array:[
{message:'foo'},
{message:'bar'}
]}})在index.wxml頁面實現(xiàn)列表渲染,示例代碼如下:<viewwx:for="{{array}}">{{index}}:{{item.message}}</view>wx:for和wx:key的使用示例代碼效果如下圖所示。使用
wx:for-item
可以指定數(shù)組當(dāng)前元素的變量名,使用
wx:for-index
可以指定數(shù)組當(dāng)前下標(biāo)的變量名。Next》wx:for和wx:key的使用<viewwx:for="{{array}}"wx:for-index="idx"wx:for-item="itemName">{{idx}}:{{itemName.message}}</view>將
wx:for
用在<block/>標(biāo)簽上,以渲染一個包含多節(jié)點的結(jié)構(gòu)塊。Next》blockwx:for的使用<block
wx:for="{{[1,
2,
3]}}"
wx:key="*this">
<view>
{{index}}:
{{item}}
</view></block>將
wx:for
用在<block/>標(biāo)簽上,以渲染一個包含多節(jié)點的結(jié)構(gòu)塊。Next》blockwx:for的使用<viewwx:for="array">{{item}}</view><viewwx:for="{{['a','r','r','a','y']}}">{{item}}</view>等同于blockwx:for的使用運行結(jié)果如下所示?;ɡㄌ柡鸵栔g如果有空格,將最終被解析成為字符串。Next》blockwx:for的使用<viewwx:for="{{[1,2,3]}}">{{item}}</view><viewwx:for="{{[1,2,3]+''}}">{{item}}</view>等同于blockwx:for的使用運行結(jié)果如下所示。感
謝
觀
看THANK項目二小程序編程基礎(chǔ)項目二小程序編程基礎(chǔ)任務(wù)四條件渲染MiniProgram在微信小程序中,條件渲染是一種非常實用的技術(shù),它允許我們根據(jù)條件來決定是否顯示某個組件或頁面。通過條件渲染,開發(fā)者可以動態(tài)地呈現(xiàn)用戶界面,根據(jù)用戶的輸入、數(shù)據(jù)或其他條件來做出相應(yīng)的調(diào)整。Next》條件渲染簡介在框架中,使用wx:if=""來判斷是否需要渲染該代碼塊:Next》wx:if的使用<viewwx:if="{{condition}}">Helloworld</view>也可以用wx:elif和wx:else來添加一個else塊:<viewwx:if="{{length>5}}">1</view><viewwx:elif="{{length>2}}">2</view><viewwx:else>3</view>wx:if的使用示例代碼效果如下圖所示。因為wx:if是一個控制屬性,需要將它添加到一個標(biāo)簽上。如果要一次性判斷多個組件標(biāo)簽,可以使用一個<block/>標(biāo)簽將多個組件包裝起來,并在上邊使用wx:if控制屬性。Next》blockwx:if的使用<block/>并不是一個組件,它僅僅是一個包裝元素,不會在頁面中做任何渲染,只接受控制屬性<blockwx:if="{{true}}"><view>view1</view><view>view2</view></block>blockwx:if的使用示例代碼效果如下圖所示。在框架中,使用wx:if=""來判斷是否需要渲染該代碼塊:Next》wx:if的使用<viewwx:if="{{condition}}">Helloworld</view>也可以用wx:elif和wx:else來添加一個else塊:<viewwx:if="{{length>5}}">1</view><viewwx:elif="{{length>2}}">2</view><viewwx:else>3</view>hidden也可以用來控制元素的顯示與隱藏,與wx:if不同,當(dāng)wx:if的條件值切換時,框架有一個局部渲染的過程,因為它會確保條件塊在切換時銷毀或重新渲染。同時wx:if也是惰性的,如果在初始渲染條件為false,框架什么也不做,在條件第一次變成真的時候才開始局部渲染。Next》hidden的使用<view
hidden="{{flag}}">
flag為true值時,隱藏評論</view>Page({
data:
{
flag:true
}})在JS中定義flag的值blockwx:for的使用運行結(jié)果如下所示?;ɡㄌ柡鸵栔g如果有空格,將最終被解析成為字符串。Next》blockwx:for的使用<viewwx:for="{{[1,2,3]}}">{{item}}</view><viewwx:for="{{[1,2,3]+''}}">{{item}}</view>等同于blockwx:for的使用運行結(jié)果如下所示。感
謝
觀
看THANK項目二小程序編程基礎(chǔ)項目二小程序編程基礎(chǔ)任務(wù)五事件渲染MiniProgram事件是視圖層到邏輯層的通訊方式,可以將用戶的行為反饋到邏輯層進行處理。事件可以綁定在組件上,當(dāng)達到觸發(fā)事件,就會執(zhí)行邏輯層中對應(yīng)的事件處理函數(shù)。事件對象可以攜帶額外信息,如id,dataset,touches。小程序中綁定事件,通過bind關(guān)鍵字來實現(xiàn)。如bindinput,bindtap(綁定點擊事件),bindchange等。Next》事件綁定簡介通過bind+“事件名稱”為組件綁定事件,如bindchange、bindtap等,當(dāng)用戶點擊該組件的時候會在該頁面對應(yīng)的Page中找到相應(yīng)的事件處理函數(shù)。在大多數(shù)組件和自定義組件中,
bind
后也可以緊跟一個冒號,其含義不變,如
bind:tap。Next》事件的使用方式(1)不帶參數(shù)的事件綁定在wxml中定義組件。Next》事件的使用方式在JS頁面定義事件處理函數(shù)。Page({data:{num:0},changeinput:function(e){console.log(this.setData({num:e.detail.value}));}})<inputtype="text"bindchange="changeinput"/>(2)帶參數(shù)的事件綁定在wxml中定義組件。Next》事件的使用方式在JS頁面定義事件處理函數(shù)。Page({
data:
{
},
tapEvent:function(e){
console.log(e)
//獲取事件詳情
console.log(e.currentTarget.dataset.hi)//獲取數(shù)據(jù)綁定data-的數(shù)據(jù)
console.log(e.currentTarget.dataset.id)
}})<view
data-hi="WeChat"
data-id="01"
bindtap="tapEvent"
>Click
me</view>事件分為冒泡事件和非冒泡事件:冒泡事件:當(dāng)一個組件上的事件被觸發(fā)后,該事件會向父節(jié)點傳遞。非冒泡事件:當(dāng)一個組件上的事件被觸發(fā)后,該事件不會向父節(jié)點傳遞。Next》事件分類運行環(huán)境渲染層touchstart手指觸摸動作開始touchmove手指觸摸后移動touchcancel手指觸摸動作被打斷,如來電提醒,彈窗touchend手指觸摸動作結(jié)束tap手指觸摸后馬上離開longpress手指觸摸后,超過350ms再離開,如果指定了事件回調(diào)函數(shù)并觸發(fā)了這個事件,tap事件將不被觸發(fā)longtap手指觸摸后,超過350ms再離開(推薦使用longpress事件代替)transitionend會在WXSStransition或wx.createAnimation動畫結(jié)束后觸發(fā)animationstart會在一個WXSSanimation動畫開始時觸發(fā)animationiteration會在一個WXSSanimation一次迭代結(jié)束時觸發(fā)animationend會在一個WXSSanimation動畫完成時觸發(fā)touchforcechange在支持3DTouch的iPhone設(shè)備,重按時會觸發(fā)WXML的冒泡事件列表:觸摸類事件支持捕獲階段。捕獲階段位于冒泡階段之前,且在捕獲階段中,事件到達節(jié)點的順序與冒泡階段恰好相反。需要在捕獲階段監(jiān)聽事件時,可以采用capture-bind、capture-catch關(guān)鍵字,后者將中斷捕獲階段和取消冒泡階段。Next》
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南司法警官職業(yè)學(xué)院《室內(nèi)設(shè)計基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江橫店影視職業(yè)學(xué)院《生物儀器原理與使用》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶幼兒師范高等??茖W(xué)校《制造與材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆荊州市重點中學(xué)高三下學(xué)期4月診斷考試物理試題含解析
- 工業(yè)用地用地面積優(yōu)化與節(jié)約
- 工程結(jié)算書中的工程量清單編制
- 歐菲醫(yī)療美容客戶滿意度調(diào)查問卷
- 2025年鄰氨基苯甲酸?行業(yè)現(xiàn)狀分析:鄰氨基苯甲酸有望在更多領(lǐng)域?qū)崿F(xiàn)突破
- 電纜更換施工方案
- 北京市豐臺區(qū)2024-2025學(xué)年高三(上)期末生物試卷
- 2024屆北京市豐臺區(qū)等5區(qū)高三下學(xué)期一模英語試題(解析版)
- 我國醫(yī)療保障現(xiàn)狀問題
- 工程項目部安全生產(chǎn)治本攻堅三年行動實施方案
- 家電以舊換新風(fēng)險管控與應(yīng)對策略
- 第三單元名著閱讀《經(jīng)典常談》-2023-2024學(xué)年八年級語文下冊同步教學(xué)課件
- 排污許可證申請與核發(fā)技術(shù)規(guī)范 火電(二次征求意見稿)
- QB-T 2673-2023 鞋類產(chǎn)品標(biāo)識
- 鄰近鐵路營業(yè)線施工安全監(jiān)測技術(shù)規(guī)程 (TB 10314-2021)
- 《中國帕金森病診療指南(第四版)》(2023)要點
- 2024年揚州市職業(yè)大學(xué)高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2024年北京京北職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
評論
0/150
提交評論