vue2.0生命周期函數
阿新 • • 發佈:2017-09-08
函數 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生命周期函數