uni-appページ&コンポーネントライフサイクル
appでもウィジェットでもライフサイクルは非常に重要な知識点です.
ページのライフサイクル
コンポーネントのライフサイクル
Uni-appは、次のライフサイクル関数をサポートします。
ページのライフサイクル
onLoad
はページロードを傍受し、そのパラメータは前のページから渡されたデータであり、パラメータタイプはobject(ページ参照用)であり、参考例onShow
リスニングページ表示onReady
リスニングページ初回レンダリング完了onHide
リスニングページ非表示onUnload
リスニングページアンロードonPullDownRefresh
リスニングユーザドロップダウン動作onReachBottom
ページ上引き抜き底イベントの処理関数onShareAppMessage
ユーザ右上隅共有マイクロメッセージウィジェットonPageScroll
リスニングページスクロールonTabItemTap
現在tabページであるときtabをクリックするとトリガー<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
console.log(' ')
},
onShow() {
console.log(' ')
},
onReady(){
console.log(' ')
},
onHide() {
console.log(' ')
},
onUnload() {
console.log(' ')
},
onBackPress(){
console.log(' ...')
},
onShareAppMessage() {
console.log(' !')
},
onReachBottom() {
console.log(' ...')
},
onPageScroll(){
console.log(' ...')
},
onPullDownRefresh() {
console.log(' ...')
uni.stopPullDownRefresh();
},
// #ifdef APP-PLUS
onNavigationBarButtonTap(){
},
// #endif
methods: {
tap(){
console.log('tap !');
}
}
}
</script>
コンポーネントのライフサイクル
beforeCreate
コンポーネントは初期化されたが、データの原生観測、カスタム観測(eventwatcher)が生成される前に生成されなかった.未完全作成フェーズcreated
コンポーネントが作成された後、完全作成フェーズbeforeMount
コンポーネントがレンダリングされた後、マウント前.レンダリング後にマウントされるmounted
コンポーネントをページ使用可能なvm.$ElアクセスマウントOK beforeUpdate
仮想DOM再レンダリングとパッチ適用の前に再レンダリング前のupdated
コンポーネントDOMが再レンダリング後のactivated
keep-aliveコンポーネントがアクティブになったときに呼び出されます.現在のコンポーネントがアクティブ化されています.deactivated
keep-aliveコンポーネントが無効化されたときに呼び出されます.現在のコンポーネント非表示beforeDestroy
インスタンスが破棄される前に呼び出されます.インスタンスはまだ完全に使用できます.破棄前destroy
Vueインスタンス破棄後コール : , , 。
<script>
export default {
data() {
return {
title: 'Hello'
}
},
props:{},
beforeCreate() {
console.log(' , ')
},
created() {
console.log(' , ')
},
beforeMount(){
console.log(' ')
},
mounted() {
console.log(' OK, vm.$el ')
},
beforeUpdate() {
console.log(' ')
},
updated(){
console.log(' ')
},
activated() {
console.log(' : ')
},
deactivated() {
console.log(' ')
},
beforeDestroy(){
console.log(' ')
},
destroy() {
console.log(' ')
},
methods: {
tap(){
console.log('tap !');
}
}
}
</script>