vue生命周期

vue1--》

一 vue的生命周期如下圖所示

Paste_Image.png

二 vue生命周期的例子

注意觸發(fā)vue的created事件以后,this便指向vue實(shí)例,這點(diǎn)很重要


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>vue生命周期</title>
        <script src="../js/vue.js"></script>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    </head>
    <body>
        <div class="test" style="border: 1px black dashed;padding: 8px;">
            {{a}}
        </div>
        <div class="test2" style="border: 1px red solid;margin-top: 10px;padding: 8px;">
            我是內(nèi)容二
        </div>
        <script type="text/javascript">
            var myVue = new Vue({
                el: ".test",
                data: {
                    a: "我是內(nèi)容,在控制臺(tái)輸入myVue.a=123456,可以改變我的值"
                },
                created: function () { 
                    //在實(shí)例創(chuàng)建之后同步調(diào)用。此時(shí)實(shí)例已經(jīng)結(jié)束解析選項(xiàng),這意味著已建立:數(shù)據(jù)綁定汽久,計(jì)算屬性,方法忙上,watcher/事件回調(diào)。
                    //但是還沒有開始 DOM 編譯闲坎,$el 還不存在,但是實(shí)例存在,即this.a存在,可打印出來 疫粥。
                    console.log("建立");
                },
                beforeCompile: function () {
                    console.log("未開始編譯");
                },
                compiled: function () { 
                    //在編譯結(jié)束后調(diào)用。此時(shí)所有的指令已生效腰懂,因而數(shù)據(jù)的變化將觸發(fā) DOM 更新梗逮。但是不擔(dān)保 $el 已插入文檔。
                    console.log("編譯完成");
                },
                ready: function () { 
                    //在編譯結(jié)束和 $el 第一次插入文檔之后調(diào)用绣溜,如在第一次 attached 鉤子之后調(diào)用慷彤。注意必須是由 Vue 插入(如 vm.$appendTo() 等方法或指令更新)才觸發(fā) ready 鉤子。
                    console.log("一切準(zhǔn)備好了");
                },
                attached :function () {  //myVue.$appendTo(".test2")暫時(shí)觸發(fā)不了,不知道怎么解決
                    //在 vm.$el 插入 DOM 時(shí)調(diào)用怖喻。必須是由指令或?qū)嵗椒ǎㄈ?$appendTo())插入底哗,直接操作 vm.$el 不會(huì) 觸發(fā)這個(gè)鉤子。
                    console.log("插入DOM成功");
                },
                detached :function () { //觸發(fā)事件 myVue.$destroy(true),其中參數(shù)true控制是否刪除DOM節(jié)點(diǎn)或者myVue.$remove()
                    //在 vm.$el 從 DOM 中刪除時(shí)調(diào)用锚沸。必須是由指令或?qū)嵗椒▌h除跋选,直接操作 vm.$el 不會(huì) 觸發(fā)這個(gè)鉤子。
                    console.log("刪除DOM成功");
                },
                beforeDestroy: function () {  //觸發(fā)方式,在console里面打myVue.$destroy();
                    //在開始銷毀實(shí)例時(shí)調(diào)用哗蜈。此時(shí)實(shí)例仍然有功能前标。
                    console.log("銷毀前");
                },
                destroyed: function () {   //觸發(fā)方式,在console里面打myVue.$destroy();其中myVue.$destroy(true)是刪除DOM節(jié)點(diǎn),會(huì)觸發(fā)detached函數(shù),但是實(shí)例仍然存在
                    //在實(shí)例被銷毀之后調(diào)用坠韩。此時(shí)所有的綁定和實(shí)例的指令已經(jīng)解綁,注意是解綁不是銷毀,所有的子實(shí)例也已經(jīng)被銷毀炼列。
                    console.log("已銷毀");
                }
        });
        </script>
    </body>
</html>

--->vue2

Paste_Image.png

Vue提供的可以注冊(cè)的鉤子都在上圖片的紅色框標(biāo)注只搁。 他們是:

beforeCreate

在實(shí)例初始化之后,數(shù)據(jù)觀測(cè)(data observer) 和 event/watcher 事件配置之前被調(diào)用俭尖。

created

實(shí)例已經(jīng)創(chuàng)建完成之后被調(diào)用氢惋。在這一步,實(shí)例已完成以下的配置:數(shù)據(jù)觀測(cè)(data observer)目溉,屬性和方法的運(yùn)算, watch/event 事件回調(diào)菱农。然而缭付,掛載階段還沒開始,$el 屬性目前不可見循未。

beforeMount

在掛載開始之前被調(diào)用:相關(guān)的 render 函數(shù)首次被調(diào)用陷猫。

mounted

el 被新創(chuàng)建的 vm.$el 替換,并掛載到實(shí)例上去之后調(diào)用該鉤子的妖。如果 root 實(shí)例掛載了一個(gè)文檔內(nèi)元素绣檬,當(dāng) mounted 被調(diào)用時(shí) vm.$el 也在文檔內(nèi)。

beforeUpdate

數(shù)據(jù)更新時(shí)調(diào)用嫂粟,發(fā)生在虛擬 DOM 重新渲染和打補(bǔ)丁之前娇未。 你可以在這個(gè)鉤子中進(jìn)一步地更改狀態(tài),這不會(huì)觸發(fā)附加的重渲染過程星虹。

updated

由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補(bǔ)丁零抬,在這之后會(huì)調(diào)用該鉤子。
當(dāng)這個(gè)鉤子被調(diào)用時(shí)宽涌,組件 DOM 已經(jīng)更新平夜,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作。然而在大多數(shù)情況下卸亮,你應(yīng)該避免在此期間更改狀態(tài)忽妒,因?yàn)檫@可能會(huì)導(dǎo)致更新無限循環(huán)。

該鉤子在服務(wù)器端渲染期間不被調(diào)用兼贸。

beforeDestroy

實(shí)例銷毀之前調(diào)用段直。在這一步,實(shí)例仍然完全可用溶诞。

destroyed

Vue 實(shí)例銷毀后調(diào)用坷牛。調(diào)用后,Vue 實(shí)例指示的所有東西都會(huì)解綁定很澄,所有的事件監(jiān)聽器會(huì)被移除京闰,所有的子實(shí)例也會(huì)被銷毀颜及。 該鉤子在服務(wù)器端渲染期間不被調(diào)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹂楣,一起剝皮案震驚了整個(gè)濱河市俏站,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌痊土,老刑警劉巖肄扎,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赁酝,居然都是意外死亡犯祠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門酌呆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衡载,“玉大人,你說我怎么就攤上這事隙袁√涤椋” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵菩收,是天一觀的道長(zhǎng)梨睁。 經(jīng)常有香客問我,道長(zhǎng)娜饵,這世上最難降的妖魔是什么坡贺? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮箱舞,結(jié)果婚禮上拴念,老公的妹妹穿的比我還像新娘。我一直安慰自己褐缠,他們只是感情好政鼠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著队魏,像睡著了一般公般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胡桨,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天官帘,我揣著相機(jī)與錄音,去河邊找鬼昧谊。 笑死刽虹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呢诬。 我是一名探鬼主播涌哲,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胖缤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了阀圾?” 一聲冷哼從身側(cè)響起哪廓,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎初烘,沒想到半個(gè)月后涡真,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肾筐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年哆料,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吗铐。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡东亦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抓歼,到底是詐尸還是另有隱情讥此,我是刑警寧澤拢锹,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布谣妻,位于F島的核電站,受9級(jí)特大地震影響卒稳,放射性物質(zhì)發(fā)生泄漏蹋半。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一充坑、第九天 我趴在偏房一處隱蔽的房頂上張望减江。 院中可真熱鬧,春花似錦捻爷、人聲如沸辈灼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)巡莹。三九已至,卻和暖如春甜紫,著一層夾襖步出監(jiān)牢的瞬間降宅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工囚霸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腰根,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓拓型,卻偏偏與公主長(zhǎng)得像额嘿,于是被迫代替她去往敵國(guó)和親瘸恼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 什么是生命周期岩睁? Vue實(shí)例有一個(gè)完整的生命周期钞脂,也就是從開始創(chuàng)建、初始化數(shù)據(jù)捕儒、編譯模板冰啃、掛載Dom、渲染→更新→...
    travelClark閱讀 2,585評(píng)論 0 36
  • Vue 實(shí)例 在文檔中經(jīng)常會(huì)使用 vm 這個(gè)變量名表示 Vue 實(shí)例刘莹,在實(shí)例化 Vue 時(shí)阎毅,需要傳入一個(gè)選項(xiàng)對(duì)象,...
    鄙人才疏學(xué)淺閱讀 586評(píng)論 0 1
  • Vue實(shí)例有一個(gè)完整的生命周期点弯,也就是從開始創(chuàng)建扇调、初始化數(shù)據(jù)、編譯模板抢肛、掛載Dom狼钮、渲染→更新→渲染、卸載等一系列...
    fortunatelys閱讀 1,023評(píng)論 0 0
  • 先上圖 遇到的一個(gè)問題 在我的項(xiàng)目中捡絮,常用的生命周期鉤子函數(shù)一直都是mounted熬芜,對(duì)于大部分情況,都是屢試不爽福稳、...
    任無名F閱讀 41,693評(píng)論 10 50
  • 在實(shí)例化Vue時(shí)涎拉,需要傳入一個(gè)選項(xiàng)對(duì)象。他可以包含數(shù)據(jù)的圆、模板鼓拧、掛載元素、方法越妈、生命周期鉤子等選項(xiàng)季俩。 每個(gè)vue實(shí)例...
    Yura555閱讀 411評(píng)論 0 0