Vueインスタンスのライフサイクル
5465 ワード
一、ライフサイクル
VueアプリケーションはすべてVueインスタンス(ViewModel)によって完成され、Vue作成インスタンスには一連の初期化動作が必要であり、データの傍受、テンプレートのコンパイル、インスタンスをDOMにマウントし、データの変化時にDOMを更新するなどの設定が必要である.もちろん、インスタンスの作成はライフサイクルの一部にすぎません.
Vueオブジェクト宣言サイクルの各フェーズでは、ライフサイクルというフック関数が実行されます.対応するフック関数には、特定の機能を達成するために独自のコードを追加できます.
フック関数: である. である. を実行する. にマウントする. を更新していない. を実行する. を実行する. を実行する.
二、コードプレゼンテーション
Vueオブジェクトのライフサイクルを対応するフック関数で説明し、次のコードをコピーしてコンソールで実行結果を観察できます.
HTMLコード
Vue.jsコード
PS:よく使うフック関数: . をクリアするための終了作業を行う.
VueアプリケーションはすべてVueインスタンス(ViewModel)によって完成され、Vue作成インスタンスには一連の初期化動作が必要であり、データの傍受、テンプレートのコンパイル、インスタンスをDOMにマウントし、データの変化時にDOMを更新するなどの設定が必要である.もちろん、インスタンスの作成はライフサイクルの一部にすぎません.
Vueオブジェクト宣言サイクルの各フェーズでは、ライフサイクルというフック関数が実行されます.対応するフック関数には、特定の機能を達成するために独自のコードを追加できます.
フック関数:
beforeCreate
:Vueインスタンスの初期化後に実行するが、このときVueインスタンスデータとel
データはいずれも空のcreated
:Vueインスタンスのデータはバインドされているが、el
は空のbeforeMount
:el
のマウント前にmounted
:この時点でel
は既に指定されたDOMノードbeforeUpdate
:Vueインスタンスデータの更新後に実行するが、ページ内のデータはupdated
:ページデータ更新後にbeforeDestroy
:Vueインスタンス破棄前にdestroyed
:インスタンス破棄後二、コードプレゼンテーション
Vueオブジェクトのライフサイクルを対応するフック関数で説明し、次のコードをコピーしてコンソールで実行結果を観察できます.
HTMLコード
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue _ title>
head>
<body>
<div id="test">
<p> :{{count}}p>
<button @click="destroyVue">destory vuebutton>
div>
body>
html>
Vue.jsコード
<script type="text/javascript" src="../js/vue.js">script>
<script type="text/javascript">
new Vue({
el: '#test',
data: {
count: 0
},
beforeCreate() {
console.log('beforeCreate()')
},
created() {
console.log('created()')
},
beforeMount() {
console.log('beforeMount()')
},
// , 'Hello Vue.js'
mounted() {
console.log('mounted()')
this.intervalId = setInterval(() => {
// 'count', beforeUpdate() updsted()
this.count ++
}, 1000)
},
beforeUpdate() {
console.log('beforeUpdate() ' + this.count)
},
updated () {
console.log('updated() ' + this.count)
},
// ,
beforeDestroy() {
console.log('beforeDestroy()')
clearInterval(this.intervalId)
},
destroyed() {
console.log('destroyed()')
},
// : Vue
methods: {
destroyVue () {
this.$destroy()
}
}
})
script>
PS:よく使うフック関数:
mounted()
:ajax要求の送信、タイミングタスクの起動等beforeDestory()
:タイミングタスクなどの