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

首頁 > 編程 > JavaScript > 正文

詳解Vue生命周期的示例

2019-11-19 17:12:03
字體:
來源:轉載
供稿:網友

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

 

二 vue生命周期的栗子

 注意觸發vue的created事件以后,this便指向vue實例,這點很重要

<!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;">      我是內容二    </div>    <script type="text/javascript">      var myVue = new Vue({        el: ".test",        data: {          a: "我是內容,在控制臺輸入myVue.a=123456,可以改變我的值"        },        created: function () {           //在實例創建之后同步調用。此時實例已經結束解析選項,這意味著已建立:數據綁定,計算屬性,方法,watcher/事件回調。          //但是還沒有開始 DOM 編譯,$el 還不存在,但是實例存在,即this.a存在,可打印出來 。          console.log("建立");        },        beforeCompile: function () {          console.log("未開始編譯");        },        compiled: function () {           //在編譯結束后調用。此時所有的指令已生效,因而數據的變化將觸發 DOM 更新。但是不擔保 $el 已插入文檔。          console.log("編譯完成");        },        ready: function () {           //在編譯結束和 $el 第一次插入文檔之后調用,如在第一次 attached 鉤子之后調用。注意必須是由 Vue 插入(如 vm.$appendTo() 等方法或指令更新)才觸發 ready 鉤子。          console.log("一切準備好了");        },        attached :function () { //myVue.$appendTo(".test2")暫時觸發不了,不知道怎么解決          //在 vm.$el 插入 DOM 時調用。必須是由指令或實例方法(如 $appendTo())插入,直接操作 vm.$el 不會 觸發這個鉤子。          console.log("插入DOM成功");        },        detached :function () { //觸發事件 myVue.$destroy(true),其中參數true控制是否刪除DOM節點或者myVue.$remove()          //在 vm.$el 從 DOM 中刪除時調用。必須是由指令或實例方法刪除,直接操作 vm.$el 不會 觸發這個鉤子。          console.log("刪除DOM成功");        },        beforeDestroy: function () { //觸發方式,在console里面打myVue.$destroy();          //在開始銷毀實例時調用。此時實例仍然有功能。          console.log("銷毀前");        },        destroyed: function () {  //觸發方式,在console里面打myVue.$destroy();其中myVue.$destroy(true)是刪除DOM節點,會觸發detached函數,但是實例仍然存在          //在實例被銷毀之后調用。此時所有的綁定和實例的指令已經解綁,注意是解綁不是銷毀,所有的子實例也已經被銷毀。          console.log("已銷毀");        }    });    </script>  </body></html>

將上面代碼貼入后,在chrome控制臺進行控制,剛開始載入頁面的時候觸發的事件是:

 

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤岗市| 微山县| 彰化县| 阿瓦提县| 盐边县| 东海县| 土默特右旗| 泾阳县| 泰安市| 天等县| 临武县| 舒兰市| 荆州市| 洛南县| 恩平市| 凤凰县| 益阳市| 南通市| 长泰县| 综艺| 腾冲县| 安多县| 鄯善县| 南涧| 台山市| 军事| 武乡县| 从化市| 石阡县| 津南区| 乌鲁木齐县| 通城县| 麻栗坡县| 龙川县| 福海县| 双牌县| 丰原市| 梁山县| 罗甸县| 高淳县| 东方市|