日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue生命周期中mounted和created的区别

發(fā)布時間:2023/12/14 vue 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue生命周期中mounted和created的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、什么是生命周期?

用通俗的語言來說,就是Vue中實例或者組件從創(chuàng)建到消滅中間經(jīng)過的一系列過程。雖然不太嚴(yán)謹(jǐn),但是也基本上可以理解。 通過一系列實踐,現(xiàn)在把所有遇到的問題整理一遍,今天記錄一下created和mounted的區(qū)別:

二、created和mounted區(qū)別?

官方圖解如下:
我們從圖中看兩個節(jié)點: created:在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后再渲染成視圖。 mounted:在模板渲染成html后調(diào)用,通常是初始化頁面完成后,再對html的dom節(jié)點進(jìn)行一些需要的操作。 其實兩者比較好理解,通常created使用的次數(shù)多,而mounted通常是在一些插件的使用或者組件的使用中進(jìn)行操作,比如插件chart.js的使用:?var ctx = document.getElementById(ID);通常會有這一步,而如果你寫入組件中,你會發(fā)現(xiàn)在created中無法對chart進(jìn)行一些初始化配置,一定要等這個html渲染完后才可以進(jìn)行,那么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ū)別,寫的比較簡陋,記錄下來,加深印象。

總結(jié)

以上是生活随笔為你收集整理的Vue生命周期中mounted和created的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。