vue生命週期理解

2021-09-23 22:06:38 字數 2201 閱讀 9011

關於vue面試,最常問到的就是vue的生命週期,也看過很多關於如何回答過這個問題的解答,自己也有所總結,就簡單寫寫自己的看法。

首先我們先來到vue的官網看看他是如何解釋的vue官網對生命週期描述

主要就是體現在這個圖上

可以看出生命週期中有8個主要的鉤子函式,分別是(activated與deactivated在vue2.0中的官方流程圖中已經不在寫明,所以我們通俗講主要有8個鉤子函式,因為生命週期以此分為了8個階段):

介紹了這麼多,相信這些概念型的知識大家在此之前一定也有所了解,或者見過類似的,也就不再做過多介紹,更多寫寫面試方面上,

當面試官問我們乙個問題時,我們應該有乙個簡短的思考——他為什麼問這個問題?我覺得主要可以分為以下三種型別:

1、這是個基本不了解這方面技術的人,問你是因為懂方面的人要他問的或者是**找來的面試題上面寫的。

2、這是個了解這方面或者有一些這方面技術水平的人,他問你的主要原因就是考察你這方面的基礎知識掌握情況。

3、這是個在這方面技術相當資深的人,他問你這個問題,更多的是想通過此考察在此基礎上更為細緻的問題以及在實際專案過程中在這方面會遇到的一些問題。

在面對完全不懂這方面技術的人時,更多情況下面試我們的人是人事,老闆之類的,他問你vue生命週期問題類技術問題,想要的是乙個簡單的結果,因為你講複雜了他聽不懂也不愛聽,我們可以做如下回答:

vue的生命週期就是 vue 例項從一開始建立到最後銷毀的這麼乙個過程,常用到他的八個鉤子函式,即建立(created)前後,掛載(mount)前後,更新(update)前後和銷毀(destroy)前後。

這樣兩句話的回答就夠了,其他如果他的資料裡面有要問下去的(一般來說他完全不懂的話不會問下去),他問什麼答什麼好了,因為他想要的是你的回答是否跟他了解的答案類似,又或者從中看看你的語言表達能力,要點在於表達流暢,能「自圓其說」。

其他的話他問什麼你答什麼,要點是答的點要準確,完整,最好插入一些自己以前專案的經驗。

最後的,如果是乙個資深的大牛問你這個問題,首先他問vue生命週期,不僅是考察基礎這麼簡單,他更多的是要問在這之後的擴充套件的內容,我們可以這麼回答:

vue的生命週期的生命週期是指從vue例項從開始建立、初始化資料、編譯模板、掛載dom→渲染、更新→渲染、解除安裝等一系列過程,他的生命週期鉤子函式主要有建立前(beforecreate)、建立後(created)、掛載前(berofemount),掛載後(mounted),更新前(beforeupdate),更新後(updated )和銷毀前(beforedestroy),銷毀後(destroyed)這8個

(先整體介紹一下,一般來說不會問你activated與deactivated的內容,如果問到你說主要有8個,那還有沒有其他的這個問題可以補充:我了解的還有activated與deactivated,前者用於在使用vue-router時有時需要使用來快取元件狀態,需要我們的子元件需要在每次載入的時候進行某些操作的情形,因為這時候created鉤子就不會被重複呼叫了,後者在keep-alive 元件被移除時使用。如果問你這個問題那一定是在他在專案過程中實際應用到過);

(在下面的詳細介紹上,需要我們有以下的知識儲備,如果沒有起碼稍微記幾個重要的點

1、beforecreate :

完成例項初始化,初始化非響應式變數

this指向建立的例項;

可以在這加個loading事件;

data computed watch methods上的方法和資料均不能訪問

2、created

例項建立完成

完成資料(data props computed)的初始化 匯入依賴項。

可訪問data computed watch methods上的方法和資料

未掛載dom,不能訪問el,

el,el

,簡短總計,針對以上三種型別,我們的思路是不一樣的:

第一種:簡短簡潔,通俗易懂

第二種:過程完整,結合實際

第三種:注重細節,具體全面

vue生命週期 鉤子理解

在vue文件中,對生命週期部分有如下檢視 建立vue例項 init events lifecycle 開始初始化 beforecreate 元件剛被建立,組建屬性計算之前,如data屬性等 init injections reactivity 通過依賴注入匯入依賴項 created 元件例項建立完成...

Vue 生命週期的理解

最近做了幾個vue的專案,寫寫對生命週期的理解,先看圖 這些圖是網路的,侵權必刪beforecreate 元件剛建立,資料和dom都未初始化,我們在beforecreate的時候千萬不要去修改data裡面賦值的資料,最早也要放在created裡面去做 新增一些行為此時的this,並不會指向例項物件 ...

vue生命週期的理解

vue有乙個完整的生命週期,是指從開始建立,初始化資料,編譯模板,掛載dom,渲染更新,銷毀一系列過程,我們稱這是vue的生命週期。通俗的講 vue的例項從建立到銷毀的過程就是vue的生命週期,同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這給了使用者在不同階段新增自己 的機會 beforec...