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

首頁 > 開發(fā) > JS > 正文

詳解Vue生命周期的示例

2024-05-06 16:35:39
字體:
供稿:網(wǎng)友

一 vue的生命周期如下圖所示(很清晰)

 Vue生命周期,vue2,生命周期,vue2.0

二 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>

將上面代碼貼入后,在chrome控制臺(tái)進(jìn)行控制,剛開始載入頁面的時(shí)候觸發(fā)的事件是:

 Vue生命周期,vue2,生命周期,vue2.0

在控制臺(tái)觸發(fā)detached 事件如下(注意DOM已刪除,但是實(shí)例仍然存在):

Vue生命周期,vue2,生命周期,vue2.0

 在控制臺(tái)觸發(fā)beforeDestroy和destroyed事件如下:(注意destroyed事件觸發(fā)后,是解綁實(shí)例,不是刪除實(shí)例)

Vue生命周期,vue2,生命周期,vue2.0

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延庆县| 湖北省| 环江| 志丹县| 乐都县| 静安区| 资中县| 漳平市| 巨野县| 资阳市| 舟曲县| 革吉县| 垫江县| 茂名市| 商丘市| 土默特左旗| 河北省| 保德县| 吐鲁番市| 乐至县| 依兰县| 南木林县| 儋州市| 凌海市| 营山县| 平山县| 浦城县| 孝昌县| 阿瓦提县| 贵州省| 玉山县| 简阳市| 高尔夫| 嘉兴市| 陕西省| 丘北县| 金沙县| 贵港市| 绥棱县| 巧家县| 广水市|