vue 生命週期詳解
阿新 • • 發佈:2018-12-19
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> </style> </head> <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script> <body> <div id="my"> {{msg}} <button @click="update">更新資料</button> <button @click="destroy">銷燬元件</button> </div> </body> <script> // Vue.filter('addZero',function (data) { // return data<10?'0'+data:data; // }) var vm = new Vue({ el:"#my", data:{ msg:'hallo world', flag:true, lists:[{name:'a1',type:'1'},{name:'a2',type:'2'},{name:'a3',type:'3'}], currentTime:Date.now() }, methods:{ update(){ this.msg ="歡迎"; }, destroy(){ this.$destroy(); } }, beforeCreate(){ this.msg ="112233"; alert('元件例項剛剛建立,還未進行資料觀察和事件配置'); // 建立前狀態 el和data並未初始化 }, created(){ //常用 建立完畢狀態 完成data資料初始化 el沒有 alert('例項已經建立完成,並且已經進行資料觀察和事件配置') }, beforeMount(){ //掛載狀態 完成了el 和 data 的初始化 alert('模板編譯之前,還未掛載') }, mounted(){ //常用 掛載結束狀態 完成掛載 alert('模板編譯後,已經掛載,此時才會有渲染頁面,才能看到頁面上資料顯示') }, //元件進行操作 beforeUpdate(){ //更新前狀態 alert('元件更新前') }, updated(){ //更新完成狀態 alert('元件更新完成之後') }, beforeDestroy(){ //銷燬前狀態 alert('元件銷燬之前') }, destroyed(){ //銷燬完成狀態 alert('元件銷燬之後') } }) </script> </html>