欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于uni-app頁面Page和組件Component生命周期執(zhí)行的先后順序

 更新時間:2023年04月25日 10:30:28   作者:彭世瑜  
這篇文章主要介紹了關(guān)于uni-app頁面Page和組件Component生命周期執(zhí)行的先后順序,文中提供了具體的代碼,還不清楚的朋友可以來學(xué)習(xí)一下

文檔

經(jīng)測試,得出結(jié)論:

H5和微信小程序的生命周期函數(shù)調(diào)用順序不一致

H5

page beforeCreate
page onLoad
page onShow
page created
page beforeMount

component beforeCreate
component created
component beforeMount
component mounted

page onReady
page mounted

微信小程序

page beforeCreate
page created
page beforeMount

component beforeCreate
component created
component beforeMount

page onLoad
page onShow

component mounted

page mounted
page onReady

一般情況下,主要使用的周期函數(shù)如下,他們的執(zhí)行順序是固定的

page onLoad

component mounted

page mounted

測試代碼

頁面

<template>
  <view class="page-container">
    <TestComponent></TestComponent>
  </view>
</template>

<script lang="ts">
// @ts-nocheck
import Vue from 'vue'
import type { PropType } from 'vue'
import TestComponent from './components/TestComponent.vue'

export default Vue.extend({
  components: {
    TestComponent,
  },

  props: {},

  data() {
    return {}
  },

  // 監(jiān)聽頁面初始化,其參數(shù)同 onLoad 參數(shù),為上個頁面?zhèn)鬟f的數(shù)據(jù),參數(shù)類型為 Object(用于頁面?zhèn)鲄ⅲ?,觸發(fā)時機早于 onLoad
  onInit() {
    console.log('page onInit')
  },

  // 監(jiān)聽頁面加載,其參數(shù)為上個頁面?zhèn)鬟f的數(shù)據(jù),參數(shù)類型為 Object(用于頁面?zhèn)鲄ⅲ?
  onLoad() {
    console.log('page onLoad')
  },

  // 監(jiān)聽頁面卸載
  onUnload() {
    console.log('page onUnload')
  },

  // 監(jiān)聽頁面顯示。頁面每次出現(xiàn)在屏幕上都觸發(fā),包括從下級頁面點返回露出當(dāng)前頁面
  onShow() {
    console.log('page onShow')
  },

  // 監(jiān)聽頁面隱藏
  onHide() {
    console.log('page onHide')
  },

  // 監(jiān)聽頁面初次渲染完成。注意如果渲染速度快,會在頁面進入動畫完成前觸發(fā)
  onReady() {
    console.log('page onReady')
  },

  // 監(jiān)聽窗口尺寸變化
  onResize() {
    console.log('page onResize')
  },

  // 監(jiān)聽用戶下拉動作,一般用于下拉刷新
  onPullDownRefresh() {
    console.log('page onPullDownRefresh')
  },

  // 頁面滾動到底部的事件(不是scroll-view滾到底),常用于下拉下一頁數(shù)據(jù)。具體見下方注意事項
  onReachBottom() {
    console.log('page onReachBottom')
  },

  // 用戶點擊右上角分享
  onTabItemTap() {
    console.log('page onTabItemTap')
  },

  // 用戶點擊右上角分享
  onShareAppMessage() {
    console.log('page onShareAppMessage')
  },

  // 監(jiān)聽頁面滾動,參數(shù)為Object
  onPageScroll() {
    console.log('page onPageScroll')
  },

  // 監(jiān)聽原生標(biāo)題欄按鈕點擊事件,參數(shù)為Object
  onNavigationBarButtonTap() {
    console.log('page onNavigationBarButtonTap')
  },

  // 監(jiān)聽頁面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示來源是左上角返回按鈕或 android 返回鍵;navigateBack表示來源是 uni.navigateBack ;
  onBackPress() {
    console.log('page onBackPress')
  },

  // 監(jiān)聽原生標(biāo)題欄搜索輸入框輸入內(nèi)容變化事件
  onNavigationBarSearchInputChanged() {
    console.log('page onNavigationBarSearchInputChanged')
  },

  // 監(jiān)聽原生標(biāo)題欄搜索輸入框搜索事件,用戶點擊軟鍵盤上的“搜索”按鈕時觸發(fā)。
  onNavigationBarSearchInputConfirmed() {
    console.log('page onNavigationBarSearchInputConfirmed')
  },

  // 監(jiān)聽原生標(biāo)題欄搜索輸入框點擊事件(pages.json 中的 searchInput 配置 disabled 為 true 時才會觸發(fā))
  onNavigationBarSearchInputClicked() {
    console.log('page onNavigationBarSearchInputClicked')
  },

  // 監(jiān)聽用戶點擊右上角轉(zhuǎn)發(fā)到朋友圈
  onShareTimeline() {
    console.log('page onShareTimeline')
  },

  // 監(jiān)聽用戶點擊右上角收藏
  onAddToFavorites() {
    console.log('page onAddToFavorites')
  },

  // 在實例初始化之前被調(diào)用
  beforeCreate() {
    console.log('page beforeCreate')
  },

  // 在實例創(chuàng)建完成后被立即調(diào)用
  created() {
    console.log('page created')
  },

  // 在掛載開始之前被調(diào)用
  beforeMount() {
    console.log('page beforeMount')
  },

  // 掛載到實例上去之后調(diào)用注意:此處并不能確定子組件被全部掛載,如果需要子組件完全掛載之后在執(zhí)行操作可以使用$nextTickVue官方文檔
  mounted() {
    console.log('page mounted')
  },

  // 數(shù)據(jù)更新時調(diào)用,發(fā)生在虛擬 DOM 打補丁之前。詳見  僅H5平臺支持
  beforeUpdate() {
    console.log('page beforeUpdate')
  },

  // 由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補丁,在這之后會調(diào)用該鉤子。詳見  僅H5平臺支持
  updated() {
    console.log('page updated')
  },

  // 實例銷毀之前調(diào)用。在這一步,實例仍然完全可用。詳見
  beforeDestroy() {
    console.log('page beforeDestroy')
  },

  // Vue 實例銷毀后調(diào)用。調(diào)用后,Vue  實例指示的所有東西都會解綁定,所有的事件監(jiān)聽器會被移除,所有的子實例也會被銷毀。
  destroyed() {
    console.log('page destroyed')
  },

  methods: {},
})
</script>

<style></style>

組件 components/TestComponent.vue

<template>
  <view class="component-container">component</view>
</template>

<script lang="ts">
// @ts-nocheck
import Vue from 'vue'
import type { PropType } from 'vue'

export default Vue.extend({
  components: {},

  props: {},

  data() {
    return {}
  },

  // 在實例初始化之前被調(diào)用
  beforeCreate() {
    console.log('component beforeCreate')
  },

  // 在實例創(chuàng)建完成后被立即調(diào)用
  created() {
    console.log('component created')
  },

  // 在掛載開始之前被調(diào)用
  beforeMount() {
    console.log('component beforeMount')
  },

  // 掛載到實例上去之后調(diào)用注意:此處并不能確定子組件被全部掛載,如果需要子組件完全掛載之后在執(zhí)行操作可以使用$nextTickVue官方文檔
  mounted() {
    console.log('component mounted')
  },

  // 數(shù)據(jù)更新時調(diào)用,發(fā)生在虛擬 DOM 打補丁之前。詳見  僅H5平臺支持
  beforeUpdate() {
    console.log('component beforeUpdate')
  },

  // 由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補丁,在這之后會調(diào)用該鉤子。詳見  僅H5平臺支持
  updated() {
    console.log('component updated')
  },

  // 實例銷毀之前調(diào)用。在這一步,實例仍然完全可用。詳見
  beforeDestroy() {
    console.log('component beforeDestroy')
  },

  // Vue 實例銷毀后調(diào)用。調(diào)用后,Vue  實例指示的所有東西都會解綁定,所有的事件監(jiān)聽器會被移除,所有的子實例也會被銷毀。
  destroyed() {
    console.log('component destroyed')
  },

  methods: {},
})
</script>

<style></style>

到此這篇關(guān)于關(guān)于uni-app頁面Page和組件Component生命周期執(zhí)行的先后順序的文章就介紹到這了,更多相關(guān)Page和組件Component生命周期執(zhí)行順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript 事件綁定及深入

    JavaScript 事件綁定及深入

    這篇文章主要介紹了JavaScript 事件綁定及深入,需要的朋友可以參考下
    2015-04-04
  • JavaScript必知必會(七)js對象繼承

    JavaScript必知必會(七)js對象繼承

    這篇文章主要介紹了JavaScript必知必會(七)js對象繼承的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • JavaScript核心語法總結(jié)(推薦)

    JavaScript核心語法總結(jié)(推薦)

    下面小編就為大家?guī)硪黄狫avaScript核心語法總結(jié)(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 一起來學(xué)習(xí)一下JavaScript的事件流

    一起來學(xué)習(xí)一下JavaScript的事件流

    這篇文章主要為大家詳細(xì)介紹了JavaScript的事件流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Javascript模塊化編程(一)AMD規(guī)范(規(guī)范使用模塊)

    Javascript模塊化編程(一)AMD規(guī)范(規(guī)范使用模塊)

    這個系列的第一部分介紹了Javascript模塊的基本寫法,今天介紹如何規(guī)范地使用模塊,先想一想,為什么模塊很重要?接下來為您詳細(xì)介紹,感興趣的朋友可以了解下啊
    2013-01-01
  • js中值類型和引用類型的區(qū)別介紹

    js中值類型和引用類型的區(qū)別介紹

    這篇文章介紹了js中值類型和引用類型的區(qū)別,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • JS中Object.assign方法的使用

    JS中Object.assign方法的使用

    這篇文章介紹了JS中Object.assign方法的使用方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • JQueryDOM之樣式操作

    JQueryDOM之樣式操作

    這篇文章主要介紹了JQueryDOM之樣式操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • HTML5實現(xiàn)留言和回復(fù)頁面樣式

    HTML5實現(xiàn)留言和回復(fù)頁面樣式

    這篇文章主要介紹了用HTML5如何實現(xiàn)留言和回復(fù)樣式,需要的朋友可以參考下
    2015-07-07
  • 詳解js運算符單豎杠“|”與“||”的用法和作用介紹

    詳解js運算符單豎杠“|”與“||”的用法和作用介紹

    在js開發(fā)應(yīng)用中我們通常會碰到“|”與“||”了,那么在運算中“|”與“||”是什么意思呢?本篇文章主要介紹了詳解js運算符單豎杠“|”與“||”的用法,有需要的可以了解一下。
    2016-11-11

最新評論