VUE vuejs2 0 vue例項的生命週期

2021-09-11 02:32:23 字數 1933 閱讀 6254

每個 vue 例項在被建立之前都要經過一系列的初始化過程。

例如,例項需要配置資料觀測(data observer)、編譯模版、掛載例項到 dom ,然後在資料變化時更新 dom 。

下圖展示的就是乙個vue例項物件的生命週期。

從圖上我們可以看到vue在生命週期中有這些狀態,

beforecreate,created,beforemount,mounted,beforeupdate,updated,beforedestroy,destroyed

vue在例項化的過程中,會呼叫這些生命週期的鉤子,給我們提供了執行自定義邏輯的機會。

那麼,在這些vue鉤子中,vue例項到底執行了那些操作,我們先看下面執行的例子

我們可以看到,vue物件初始化過程中,會執行到beforecreate,created,beforemount,mounted這幾個鉤子的內容

beforecreate:資料還沒有監聽,沒有繫結到vue物件例項,同時也沒有掛載物件

created:資料已經繫結到了物件例項,但是還沒有掛載物件

beforemount: 模板已經編譯好了,根據資料和模板已經生成了對應的元素物件,將資料物件關聯到了物件的$el屬性,$el屬性是乙個htmlelement物件,

也就是這個階段,vue例項通過原生的createelement等方法來建立這個html片段,準備注入到我們vue例項指明的el屬性所對應的掛載點

mounted:將$el的內容掛載到了el,相當於我們在jquery執行了$(el).html($el),生成頁面上真正的dom,上面我們就會發現dom的元素和我們$el的元素是一致的。在此之後,我們能夠用方法來獲取到el元素下的dom物件,並進 行各種操作

當我們的data發生改變時,會呼叫beforeupdate和updated方法

beforeupdate:資料更新到dom之前,我們可以看到$el物件已經修改,但是我們頁面上dom的資料還沒有發生改變

updated: dom結構會通過虛擬dom的原則,找到需要更新頁面dom結構的最小路徑,將改變更新到dom上面,完成更新

例項的銷毀

beforedestroy,destroed:例項的銷毀,vue例項還是存在的,只是解綁了事件的監聽還有watcher物件資料與view的繫結,即資料驅動

vue2 0 vue例項的生命週期

vue把整個生命週期劃分為建立 掛載 更新 銷毀等階段,每個階段都會給一些 鉤子 讓我們來做一些我們想實現的動作。學習例項的生命週期,能幫助我們理解vue例項的運作機制,更好地合理利用各個鉤子來完成我們的業務 先看一下官網的生命週期圖例 如果覺的太複雜,那我們就從簡單的開始學起。這就是生命週期的8個...

vue2 0配置環境以入門例項

node.js環境 npm包管理器 vue cli 腳手架構建工具 cnpm npm的 映象 npm包管理器,是整合在node中的,所以,直接輸入 npm v就會如下圖所示,顯示出npm的版本資訊。node環境已經安裝完成,npm包管理器也有了。由於有些npm有些資源被遮蔽或者是國外資源的原因,經常...

vue2 0模擬錨點的例項

在vue專案中,因為採用路由跳轉,會導致無法使用常規的a標籤配合id的錨點功能。解決辦法 j ascript void 0 程式設計客棧rel external nofollow click goanchor anchor 灰啊灰啊我的驕傲放縱 程式設計客棧 a methods 17.9.20 更新...