三、vue 生命週期 mounted 和 created 的區別
四、拓展閱讀
vue.js
中created
方法是乙個生命週期鉤子函式,乙個vue
例項被生成後會呼叫這個函式。乙個vue
例項被生成後還要繫結到某個html
元素上,之後還要進行編譯,然後再插入到document
中。每乙個階段都會有乙個鉤子函式,方便開發者在不同階段處理不同邏輯。
一般可以在created
函式中呼叫ajax
獲取頁面初始化所需的資料。
每個vue
例項在被建立之前都要經過一系列的初始化過程。例如,例項需要配置資料觀測(data observer)
、編譯模版、掛載例項到dom
,然後在資料變化時更新dom
。在這個過程中,例項也會呼叫一些生命週期鉤子 ,這就給我們提供了執行自定義邏輯的機會。例如,created
鉤子函式在例項被建立之後被呼叫:
也有一些其它的鉤子,在例項生命週期的不同階段呼叫,如var vm =
newvue(,
created
:function()
})
mounted
、updated
、destroyed
。鉤子函式中的this
指向呼叫它的vue
例項。一些童鞋可能會問vue.js
是否有「控制器」的概念?答案是,沒有。元件的自定義邏輯可以分布在這些鉤子中。
通俗來說,生命週期就是vue
例項或者元件從建立到銷毀所經歷的一系列過程。雖然不太嚴謹,但是也基本上可以理解。
官方**如下:
從上圖可看到兩個節點:
通常created
使用的次數多,而mounted
是在一些外掛程式或元件的使用中進行操作,比如外掛程式chart.js
的使用:var ctx = document.getelementbyid(id);
通常會有這一步,而如果你寫入元件中,你會發現在created
中無法對chart
進行一些初始化配置,一定要等這個html
渲染完後才可以進行,那麼mounted
就是不二之選。下面看乙個例子(用元件)。
可以看到輸出如下:vue
.component
("demo1",}
, template:
"",
created:
function()
, mounted:
function()
});var vm =
newvue
()
可以看到都在created
賦予初始值的情況下成功渲染出來了。
但是同時看console
臺如下:
可以看到第乙個報了錯,實際是因為找不到id,getelementbyid(id)
並沒有找到元素,原因如下:
在created
的時候,檢視中的html
並沒有渲染出來,所以此時如果直接去操作html
的dom
節點,一定找不到相關的元素。
而在mounted
中,由於此時html
已經渲染出來了,所以可以直接操作dom
節點,故輸出了結果。
三十六 CSS高階特性
box盒子 它是抽象於現實生活中的盒子,將網頁中的所有元素看做是乙個個的盒子,那麼在調整網頁中的這些元素布局時,就可以通過調整盒子資訊來進行。盒子模型的組成 盒子內容 盒子的內邊距 盒子內容到邊框的填充 盒子邊框 盒子外邊距 1.邊框 border style solid border style ...
練習(三十六)
人類都有說話的能力,那如何使用電腦程式來描述這一特徵呢?如果是中國人,那麼語言能力就直接輸出 中國人說中國話 如果是美國人,那麼語言能力就直接輸出 美國人說英語 分別在測試類中建立2個物件 如何用物件導向的知識實現特點?分析 中國人和美國人都是人類 可以用物件導向的繼承關係 人類為父類,但是人類父類...
C 高階程式設計三十六天 元組
元組 陣列合併了相同型別的物件,而元組合並了不同型別的物件.net 4定義了 8個泛型 tuple 類和乙個靜態的 tuple類,他們用作元組的工廠.元組是一種資料結構,通過逗號分隔 tuple最多能到 7,也可以通過巢狀的元組中的物件建立八個或多個元素的元組在 rest 屬性中的 tuple 物件...