<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script type="text/javascript" src="https://unpkg.com/vue"></script>
<title>Document</title>
</head>
<body>
<div id="app">
<!-- 測試第五個週期的按鈕 -->
<input type="button" value="修改msg" @click="ok='no'">
<h3 id="h3">{{ok}}</h3>
</div>
<script>
//建立vue實例 獲得 view model
var vm = new Vue({
el: '#app',
data: {
ok: 'ok'
},
methods: {
show() {
console.log('show執行了');
}
},
//第一個生命週期函數,表示實例被徹底建立以前運行出來
//再data和methods都尚未被初始化
//
beforeCreate() {
console.log(this.show());
},
//第二個生命週期函數 data and methods 已經初始化好了
created() { //重要
console.log(this.show);
},
//第三個生命週期函數,模板已經再內存中編譯完成,可是還沒有把模板渲染到頁面中去
beforeMount() {
console.log(document.getElementById("h3").innerText);
},
//第四個周期函數內存中的模板 已經真實掛在到了頁面中,能夠看到渲染好的頁面了,當執行完這個,實例已經徹底建立好了
mounted() { //重要
console.log(document.getElementById("h3").innerText);
},
//以上mouted()實例完畢,立刻進入到運行階段
//第五個周期函數 這倆事件會根據data數據的/*改變*/,有選擇性的出發0-n次
beforeUpdate() {//這時候表示咱們的界面尚未被更新,可是數據已經被更新了
console.log(document.getElementById("h3").innerText);
},
//第六個周期函數 執行的手頁面和data的數據已經保持同步了 都是最新的
updated() {
console.log(document.getElementById("h3").innerText);
},
//第七個周期函數 當執行這裏的時候
//就已經從運行階段進入到了銷燬階段了
//實例身上全部的data和全部的methods以及過濾器 指令等等,都處於可用狀態,尚未真正執行銷燬的過程
beforeDestroy() {
},
//第八個周期函數
//執行到這裏的時候組件已經被徹底銷燬,組件中全部的數據方法指令過濾器 都已經不可用了
destroyed() {
}
})
</script>
</body>
</html>