淺談一下Vue生命周期中mounted和created的區(qū)別
一、什么是生命周期?
用通俗的語言來說,就是Vue中實例或者組件從創(chuàng)建到消滅中間經(jīng)過的一系列過程。雖然不太嚴謹,但是也基本上可以理解。
二、created和mounted區(qū)別?
官方圖解如下:

我們從圖中看兩個節(jié)點:
created:在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后再渲染成視圖。
mounted:在模板渲染成html后調(diào)用,通常是初始化頁面完成后,再對html的dom節(jié)點進行一些需要的操作。
其實兩者比較好理解,通常created使用的次數(shù)多,而mounted通常是在一些插件的使用或者組件的使用中進行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常會有這一步,而如果你寫入組件中,你會發(fā)現(xiàn)在created中無法對chart進行一些初始化配置,一定要等這個html渲染完后才可以進行,那么mounted就是不二之選。
下面看一個例子(用組件)。
三、例子
Vue.component("demo1",{
data:function(){
return {
name:"",
age:"",
city:""
}
},
template:"<ul><li id='name'>{{name}}</li><li>{{age}}</li><li>{{city}}</li></ul>",
created:function(){
this.name="唐浩益"
this.age = "12"
this.city ="杭州"
var x = document.getElementById("name")//第一個命令臺錯誤
console.log(x.innerHTML);
},
mounted:function(){
var x = document.getElementById("name")//第二個命令臺輸出的結(jié)果
console.log(x.innerHTML);
}
});
var vm = new Vue({
el:"#example1"
})可以看到輸出如下:

可以看到都在created賦予初始值的情況下成功渲染出來了。 但是同時看console臺如下:

可以看到第一個報了錯,實際是因為找不到id,getElementById(ID) 并沒有找到元素,原因如下: 在created的時候,視圖中的html并沒有渲染出來,所以此時如果直接去操作html的dom節(jié)點,一定找不到相關(guān)的元素 而在mounted中,由于此時html已經(jīng)渲染出來了,所以可以直接操作dom節(jié)點,故輸出了結(jié)果“唐浩益”。 以上就是我自己總結(jié)的mounted和mounted的區(qū)別
到此這篇關(guān)于淺談一下Vue生命周期中mounted和created的區(qū)別的文章就介紹到這了,更多相關(guān)Vue生命周期mounted和created的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3中Element Plus Table(表格)點擊獲取對應(yīng)id方式
這篇文章主要介紹了Vue3中Element Plus Table(表格)點擊獲取對應(yīng)id方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
vue路由$router.push()使用query傳參的實際開發(fā)使用
在vue項目中我們用函數(shù)式編程this.$router.push跳轉(zhuǎn),用query傳遞一個對象時要把這個對象先轉(zhuǎn)化為字符串,然后在接收的時候要轉(zhuǎn)化為對象,下面這篇文章主要給大家介紹了關(guān)于vue路由$router.push()使用query傳參的實際開發(fā)使用,需要的朋友可以參考下2022-11-11
vue組件 keep-alive 和 transition 使用詳解
這篇文章主要介紹了vue組件 keep-alive 和 transition 使用詳解,需要的朋友可以參考下2019-10-10
element中table高度自適應(yīng)的實現(xiàn)
這篇文章主要介紹了element中table高度自適應(yīng)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2020-10-10
在Vue中使用this.$store或者是$route一直報錯的解決
今天小編就為大家分享一篇在Vue中使用this.$store或者是$route一直報錯的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

