1. 程式人生 > >vue2.0生命周期函數

vue2.0生命周期函數

函數 pan 進行 scrip 後端 body ++ utf-8 ()

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="vue2.2.js"></script>
        <title>構造器的聲明周期</title>
    </head>
    <body>
        <h1>構造器的聲明周期</h1>
        <
hr> <div id="app"> {{count}} <p><button @click="add">加分</button></p> </div> <button onclick="vm.$destroy()">銷毀</button> <script type="text/javascript"> var vm = new Vue({ el:
#app, data: { count: 1 }, methods: { add: function() { this.count++; } }, beforeCreate: function() { console.log(
1-beforeCreate 初始化之後); }, created: function() { console.log(2-created 創建完成); }, beforeMount: function() { console.log(3-beforeMount 掛載之前); }, mounted: function() { console.log(4-mounted 被創建); }, beforeUpdate: function() { console.log(5-beforeUpdate 數據更新前); }, updated: function() { console.log(6-updated 被更新後); }, activated: function() { console.log(7-activated); }, deactivated: function() { console.log(8-deactivated); }, beforeDestroy: function() { console.log(9-beforeDestroy 銷毀之前); }, destroyed: function() { console.log(10-destroyed 銷毀之後) } }) </script> </body> </html>

create 和 mounted 相關:
beforecreated:el 和 data 並未初始化
created:完成了 data 數據的初始化,el沒有
beforeMount:完成了 el 和 data 初始化
mounted :完成掛載 dom元素已經加載到HTML中

destroy 相關: 執行:vm.$destroy()
銷毀完成後,我們再重新改變count的值,vue不再對此動作進行響應了。
但是原先生成的dom元素還存在,可以這麽理解,執行了destroy操作,後續就不再受vue控制了。

生命周期總結:
beforecreate : 舉個栗子:可以在這加個loading事件
created :在這結束loading,還做一些初始化,實現函數自執行
mounted : 在這發起後端請求,拿回數據,配合路由鉤子做一些事情
beforeDestory: 你確認刪除XX嗎? destoryed :當前組件已被刪除,清空相關內容-

vue2.0生命周期函數