Vue的基礎知識

2021-10-08 09:54:16 字數 2847 閱讀 9427

一、vue的宣告式渲染、條件與迴圈、事件繫結、雙向繫結。

2、created(建立後)

3、beforemount(載入前)

4、mounted(載入後)

5、beforeupdate(更新前)

6、updated(更新後)

7、beforedestroy(銷毀前)

8、destroyed(銷毀後)

vue第一次頁面載入會觸發四個鉤子函式,分別是beforecreate、created、beforemount和mounted。

dom渲染在mounted週期中就已經完成

vue的生命週期示意圖

簡單的說就是新建的vue第一步需要初始化時間&週期,在第二步進行之前有乙個建立vue例項前得鉤子函式(beforecreate),完成後才能進入第二步初始化data和methods,例項建立完成之後的鉤子函式(created),在指定完元素和模板之後進行編譯(把data物件裡面的資料和vue語法寫的模板編譯成html。

mounted

1 .在mounted裡面修改data裡面的資料,並不是想要的直接就拿mounted裡面的修改過的值渲染介面,而是還會先拿data裡面的初始值進行渲染,然後走beforeupdate這裡拿新的資料進行渲染

2 .這是不是說如果想要修改data裡面的資料,要在beforemounted的時候修改呢

3 .其實beforemounted也是先按照預設值進行渲染,如果beforemounted裡面修改資料比較慢的話,他是不會等著的,還是會直接執行下乙個生命週期函式。也就是說所有的生命週期函式之間沒有done的操作

4 .如果在beforemounted裡面加乙個setinterval()來延遲修改值的話,也會觸發beforemounted函式

5 .往下看其實發現在mounted生命週期之前修改data裡面的資料都是在修改虛擬dom,直到mounted之後任何修改才會被渲染到頁面上。

6 .所以理論上只要在mounted之前修改資料都行,比如mounted裡面進行ajax請求,也是這個原理

7 .這個還需要再看下原始碼,應該就能記得比較清楚

8 .掛載頁面。

beforecreate

1 .進行初始化事件,this指向建立的例項

2 .不能訪問到data

3 .不能訪問computed

4 .不能訪問watch

5 .不能訪問methods

6 .以上的方法和資料

7 .用來初始化非響應變數

created鉤子

1 .例項建立完成

2 .資料已經和data屬性繫結,此時放在data中的屬性值發生改變的同時,檢視也會改變

3 .可以初始化ajax請求了

4 .可以訪問data

5 .可以訪問computed

6 .可以訪問watch

7 .可以訪問methods

8 .可以訪問到以上的方法和資料

9 .未掛載到dom

10 .不能訪問到ref屬性內容為空陣列

beforemount

1 .判斷是否有el選項,有就繼續,沒有就停止編譯,除非呼叫vm.$moune(el)

2 .是否有template引數選項

1 .有template引數選項,將模板編譯為render函式2 .沒有template選項,將外部html作為模板編譯3 .template中的模板優先順序要高於outer html的優先順序  

3 .如果vue物件中還有乙個render函式的話,那麼又會先渲染render函式裡面的內容。所以這是有優先順序的4 .模板編譯完成,但是未掛載,無法獲取dom

5 .給例項物件新增$el成員

6 .在掛載開始前被呼叫,在beforemount之前,會找到對應的template,並編譯成render函式

mounted

1 .在mounted之前還是通過}進行佔位的,因為還沒有掛載到頁面上,還是在js中以虛擬dom形式存在的

2 .mounted之後換成了我們想要的樣子

3 .例項掛載到dom上,此時可以通過dom api獲取到dom節點。

4 .$ref屬性可以訪問

5 .常用於獲取vnode資訊ajax請求

beforeupdate

1 .當data中的資料發生了改變,會觸發對應元件的重新渲染

2 .響應式資料更新時呼叫,發生在虛擬dom打補丁之前

3 .適合在試圖更新之前訪問現有dom,比如手動移除或者新增事件***

updated

1 .虛擬dom重新渲染和打補丁之後呼叫,元件dom已經更新,可執行依賴dom的操作

2 .避免在這個鉤子中運算元據,不然可能陷入死迴圈

beforedestory

1 .例項銷毀之前呼叫,這一步例項仍然可以使用,this仍然可以獲取例項

2 .常用於銷毀定時器,解綁全域性事件,銷毀外掛程式物件等操作

destoryed

1 .例項銷毀之後呼叫,呼叫後,vue例項指示的所有東西都會解綁,所有事件***都會被移除,所有子例項也會被銷毀、

Vue基礎知識

vue.js的基本使用 1.引入vue.js 1 cdn 3 模組化安裝 npm i vue d s cnpm i vue yarn add vue 2.初始化vue 1 必須有乙個html容器,決定vue.js的作用範圍 2 初始化 new vue options data 資料 3 資料繫結 宣...

VUE基礎知識

1 全域性定義 每個元件的命名不可重複 2 字串模板 缺乏語法高亮,可讀性較差 1 屬性 屬性書寫方式 props type name list 屬性時單向資料流,不可在子元件更改父元件傳遞的值,可通過onchange方法修改。2 事件 3 插槽 插槽是元件的一塊html模板,其顯示與否由父元件決定...

Vue基礎知識

資料雙向繫結 指令帶有v 的,表示vue特有的屬性,他們會在渲染的dom上,應用特殊的響應式行為 或者 click me v model 會忽略所有表單元素的 value checked selected attribute 的初始值 而總是將 vue 例項的資料作為資料 你應該通過 j ascri...