Blazor(10)-Life Cycle

前一章的最後能看到我們覆寫了一個方法:「OnInitialized」,這個方法是元件生命週期中的一環,他代表的是元件初始化後要先執行的動作。 而Component的生命週期中,有幾個動作是我們可以控制的,依照執行順序為下:

  1. 設定參數時:SetParameterts
  2. 元件初始化:Onlnitialized
  3. 設定參數後:OnParametersSet
  4. 畫面渲染後:OnParametersSet

Life Cycle Flow

圗:元件生命週期圗ref

設定參數時(SetParameters{Async})

這個階段會設定從父元件或路由中傳遞過來的參數,開發人員可以直接覆寫這個階段的程式,來與傳入的參數互動。 一般會在這個階段進行參數驗證或參數初始化設定。

元件初始化(OnInitialized{Async})

元件載入完畢,並收到初始化參數之後會開始執行OnInitialized方法。 一般會在這個階段向後端請求呈現資料。

設定參數後(OnParametersSet{Async})

前面兩個階段在整個生命週期裡面都只會執行一次。 而這個階段除了在OnInitialized階段後會執行一次以外,每一次的Parameter更動,都會在執行一次。

畫面渲染後(OnAfterRender{Async})

這個階段會在元件完全渲染完畢後執行,有很多需要在DOM都建置完成後才有辦法執行的js,都需要在這個階段執行。 而這個階段還可以使用firstRender參數「OnAfterRender(bool firstRender)」來判斷這個元件是否為首次渲染。

An unhandled error has occurred. Reload 🗙