国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue中created和mounted的區別淺析

2024-05-06 15:35:57
字體:
來源:轉載
供稿:網友

前言

關于vue.js中的生命周期,如果不是有特別的需求,一般在項目開發過程中更多的使用created和mounted,
所以在本文中主要講解created與mounted在開發中的主要使用區別。

關于完整的生命周期,不久會在另一篇文章中做整體的理解,包括activated、destroyed等,不過可能會有點晚,大家可以留意一下

版本信息:

系統:win10 Vue:2.5.2 webpack:3.6.0 npm:6.9.0 node:10.15.3

生命周期

完整的生命周期圖示為了避免占用板塊,這里就不貼出來了,大家可以自行前往vue生命周期查看。

瀏覽器渲染過程

具體的瀏覽器渲染過程我會過幾天另外寫一遍文章,大家可以去我的文章看看。

構建DOM樹 構建css規則樹,根據執行順序解析js文件。 構建渲染樹Render Tree 渲染樹布局layout 渲染樹繪制

生命周期中的瀏覽器渲染

這里是官方文檔對生命周期api的解釋,大家可以看看

以下為測試vue部分生命函數

beforeCreate(){ console.log('beforecreate:',document.getElementById('first'))//null console.log('data:',this.text);//undefined this.sayHello();//error:not a function},created(){ console.log('create:',document.getElementById('first'))//null console.log('data:',this.text);//this.text this.sayHello();//this.sayHello()},beforeMount(){ console.log('beforeMount:',document.getElementById('first'))//null console.log('data:',this.text);//this.text this.sayHello();//this.sayHello()},mounted(){ console.log('mounted:',document.getElementById('first'))//<p></p> console.log('data:',this.text);//this.text this.sayHello();//this.sayHello()}

通過上述測試我們可以知道,

生命周期 是否獲取dom節點 是否可以獲取data 是否獲取methods
beforeCreate
created
beforeMount
mounted

以我的個人理解,vue生命周期實際上和瀏覽器渲染過程是掛鉤的,

在beforecreate階段,對瀏覽器來說,整個渲染流程尚未開始或者說準備開始,對vue來說,實例尚未被初始化,data observer和 event/watcher也還未被調用,在此階段,對data、methods或文檔節點的調用現在無法得到正確的數據。

在created階段,對瀏覽器來說,渲染整個HTML文檔時,dom節點、css規則樹與js文件被解析后,但是沒有進入被瀏覽器render過程,上述資源是尚未掛載在頁面上,也就是在vue生命周期中對應的created

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 德钦县| 巫山县| 博野县| 景泰县| 万安县| 含山县| 綦江县| 富锦市| 武强县| 措美县| 巫溪县| 新营市| 无锡市| 金乡县| 德保县| 扬中市| 佳木斯市| 孝昌县| 平陆县| 武夷山市| 会宁县| 阿城市| 东平县| 耒阳市| 沁源县| 广饶县| 宽甸| 双城市| 乳山市| 淮北市| 漳浦县| 衡南县| 锦州市| 芷江| 当阳市| 西畴县| 融水| 廊坊市| 土默特左旗| 塔城市| 循化|