uni-app開發(fā) 生命周期
1.?頁面生命周期函數
onLoad:頁面加載時觸發(fā)的方法,全局只觸發(fā)一次
onReady:頁面加載完成時觸發(fā)的方法,只觸發(fā)一次
onShow:顯示頁面,每打開頁面都會調用一次
onHide:頁面隱藏,當小程序后臺運行或跳轉到其他頁面時
onPullDownRefresh:監(jiān)聽用戶下拉動作厌殉,一般用于下拉刷新
onReachBottom:頁面滾動到底部的事件,一般用于上拉加載更多
2.?組件生命周期函數
created:此時data等可以使用,但是dom并沒有根據數據進行渲染
mounted:此時dom根據數據被渲染出來[Dom是什么,請看4]
updated:數據更新抛虏,dom根據數據重新渲染
3.?頁面通信的全局事件
3.1.1.1.?觸發(fā)全局的自定事件
uni.$emit(eventName,OBJECT)
- eventName:事件名,String類型
- OBJECT:攜帶的參數,Object類型
代碼示例:
uni.$emit('update',{msg:'頁面更新'})
3.1.1.2.?監(jiān)聽全局的自定義事件套才。事件可以由?uni.$emit?觸發(fā)迂猴,
uni.$on(eventName,callback)
- eventName:事件名,String類型
- callback:事件的回調函數,Function類型
代碼示例:
uni.$on('update',function(data){
console.log('監(jiān)聽到事件來自?update?背伴,攜帶參數?msg?為:' + data.msg);
})
3.1.1.3.?監(jiān)聽全局的自定義事件沸毁。事件可以由?uni.$emit?觸發(fā)峰髓,但是只觸發(fā)一次,在第一次觸發(fā)之后移除監(jiān)聽器息尺。
uni.$once(eventName,callback)
- eventName:事件名携兵,String類型
- callback:事件的回調函數,Function類型
代碼示例:
uni.$once('update',function(data){
console.log('監(jiān)聽到事件來自?update?,攜帶參數?msg?為:' + data.msg);
})
3.1.1.4.?移除全局自定義事件監(jiān)聽器搂誉。
uni.$off(eventName,callback)
- eventName:事件名徐紧,Array類型
- callback:事件的回調函數,Function類型
注:
如果沒有提供參數,則移除所有的事件監(jiān)聽器炭懊;
如果只提供了事件并级,則移除該事件所有的監(jiān)聽器;
如果同時提供了事件與回調侮腹,則只移除這個回調的監(jiān)聽器嘲碧;
提供的回調必須跟$on的回調為同一個才能移除這個回調的監(jiān)聽器;
4.?DOM是什么父阻?
4.1.?什么是 DOM愈涩?
DOM 是一項 W3C (World Wide Web Consortium) 標準。
DOM 定義了訪問文檔的標準:
“W3C 文檔對象模型(DOM)是中立于平臺和語言的接口加矛,它允許程序和腳本動態(tài)地訪問履婉、更新文檔的內容、結構和樣式荒椭⌒扯Γ”
W3C DOM 標準被分為 3 個不同的部分:
Core DOM - 所有文檔類型的標準模型
XML DOM - XML 文檔的標準模型
HTML DOM - HTML 文檔的標準模型
4.2.?什么是 HTML DOM?
HTML DOM 是 HTML 的標準對象模型和編程接口趣惠。它定義了:
作為對象的 HTML 元素
所有 HTML 元素的屬性
訪問所有 HTML 元素的方法
所有 HTML 元素的事件
換言之:HTML DOM 是關于如何獲取狸棍、更改、添加或刪除 HTML 元素的標準味悄。
5.?HTML DOM(文檔對象模型)
當網頁被加載時草戈,瀏覽器會創(chuàng)建頁面的文檔對象模型(Document Object Model)。
HTML DOM?模型被結構化為對象樹:
對象的?HTML DOM?樹
通過這個對象模型侍瑟,JavaScript?獲得創(chuàng)建動態(tài)?HTML?的所有力量:
??JavaScript?能改變頁面中的所有?HTML?元素
??JavaScript?能改變頁面中的所有?HTML?屬性
??JavaScript?能改變頁面中的所有?CSS?樣式
??JavaScript?能刪除已有的?HTML?元素和屬性
??JavaScript?能添加新的?HTML?元素和屬性
??JavaScript?能對頁面中所有已有的?HTML?事件作出反應
??JavaScript?能在頁面中創(chuàng)建新的?HTML?事件