仮想ライフサイクル
Vueライフサイクルタイプ
🥒 1. Create
1) beforeCreate
データ、イベント、およびモニターを設定する前に呼び出されるライフサイクルフック.
2) created
データ、計算、メソッド、watchなどのオプション設定が完了しているので、dataなどを使用できます.
🥒 2. Mount
1) beforeMount
DOMに構成部品を追加する前に実行したフック.
2) Mounted
DOM後に呼び出されたライフサイクルフックに構成部品を追加します.
🥒 3. Update
構成部品の再ロード(たとえば、
1) beforeUpdate
DOMを再レンダリングする前に呼び出されるライフサイクルフック.
2) updated
DOMを再レンダリングした後に呼び出されるライフサイクルフック
create/mountの使用 <body>
<div id="app">
<h1>{{msg}}</h1>
</div>
<script>
//App 변수를 통해 넣는다
const App = {
data(){
return {
msg : 'Hello Vue!'
}
},
//view application이 만들어지기 직전에
beforeCreate(){
//this를 통해 data를 다룰 수 없다.
//app을 생성하기 직전이라 this를 통해 msg에 접근 할 수 없다.
//활용할 일이 거의 없다. (데이터 접근 X , 할 수 있는 일이 제한적)
console.log('beforeCreate',this.msg)
console.log(document.querySelector('h1'))
},
//view application이 만들어지기 직후
created(){
console.log('Created',this.msg)
console.log(document.querySelector('h1'))
},
//view application이 html 구조와 연결 되기 직전
beforeMount(){
console.log('beforeMount',this.msg)
console.log(document.querySelector('h1'))
},
//view application이 html 구조와 연결 되기 직후
// html 구조가 연결된 직후에만 querySelector 사용가능
mounted(){
console.log('mounted',this.msg)
console.log(document.querySelector('h1'))
}
}
//application 객체
const app = Vue.createApp(App)
// 어떤요소에다가 mount 할 것인가
// 고유한 id에 하는 것을 추천 class말고
// viewModel은 app을 통해 반환된 인스턴스이다.
// 인스턴스의 속성과 메소드를 통해 다양한 것을 사용할 수 있다.
const vm = app.mount('#app')
</script>
</body>
updateの使用 <body>
<div id="app">
<h1>{{msg}}</h1>
</div>
<script>
//App 변수를 통해 넣는다
const App = {
data(){
return {
msg : 'Hello Vue!'
}
},
beforeUpdate(){
console.log('beforeUpdate',this.msg)
console.log(document.querySelector('h1').textContent)
},
updated(){
console.log('updated',this.msg)
console.log(document.querySelector('h1').textContent)
}
}
//application 객체
const app = Vue.createApp(App)
// 어떤요소에다가 mount 할 것인가
// 고유한 id에 하는 것을 추천 class말고
// viewModel은 app을 통해 반환된 인스턴스이다.
// 인스턴스의 속성과 메소드를 통해 다양한 것을 사용할 수 있다.
const vm = app.mount('#app')
</script>
更新前と更新後のthis.msg
の結果は同じです.
これは、beforeUpdateの更新目標が次のことを意味します.
データが更新される前ではなく、画面が更新される前に.
データ更新->this.msg
画面update->document.querySelector('h1').textContent
ソース
ライフサイクル
Reference
この問題について(仮想ライフサイクル), 我々は、より多くの情報をここで見つけました
https://velog.io/@khw970421/Vue-라이프사이클
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
<body>
<div id="app">
<h1>{{msg}}</h1>
</div>
<script>
//App 변수를 통해 넣는다
const App = {
data(){
return {
msg : 'Hello Vue!'
}
},
//view application이 만들어지기 직전에
beforeCreate(){
//this를 통해 data를 다룰 수 없다.
//app을 생성하기 직전이라 this를 통해 msg에 접근 할 수 없다.
//활용할 일이 거의 없다. (데이터 접근 X , 할 수 있는 일이 제한적)
console.log('beforeCreate',this.msg)
console.log(document.querySelector('h1'))
},
//view application이 만들어지기 직후
created(){
console.log('Created',this.msg)
console.log(document.querySelector('h1'))
},
//view application이 html 구조와 연결 되기 직전
beforeMount(){
console.log('beforeMount',this.msg)
console.log(document.querySelector('h1'))
},
//view application이 html 구조와 연결 되기 직후
// html 구조가 연결된 직후에만 querySelector 사용가능
mounted(){
console.log('mounted',this.msg)
console.log(document.querySelector('h1'))
}
}
//application 객체
const app = Vue.createApp(App)
// 어떤요소에다가 mount 할 것인가
// 고유한 id에 하는 것을 추천 class말고
// viewModel은 app을 통해 반환된 인스턴스이다.
// 인스턴스의 속성과 메소드를 통해 다양한 것을 사용할 수 있다.
const vm = app.mount('#app')
</script>
</body>
<body>
<div id="app">
<h1>{{msg}}</h1>
</div>
<script>
//App 변수를 통해 넣는다
const App = {
data(){
return {
msg : 'Hello Vue!'
}
},
beforeUpdate(){
console.log('beforeUpdate',this.msg)
console.log(document.querySelector('h1').textContent)
},
updated(){
console.log('updated',this.msg)
console.log(document.querySelector('h1').textContent)
}
}
//application 객체
const app = Vue.createApp(App)
// 어떤요소에다가 mount 할 것인가
// 고유한 id에 하는 것을 추천 class말고
// viewModel은 app을 통해 반환된 인스턴스이다.
// 인스턴스의 속성과 메소드를 통해 다양한 것을 사용할 수 있다.
const vm = app.mount('#app')
</script>
更新前と更新後のthis.msg
の結果は同じです.これは、beforeUpdateの更新目標が次のことを意味します.
データが更新される前ではなく、画面が更新される前に.
データ更新->this.msg
画面update->document.querySelector('h1').textContent
ソース
ライフサイクル
Reference
この問題について(仮想ライフサイクル), 我々は、より多くの情報をここで見つけました
https://velog.io/@khw970421/Vue-라이프사이클
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(仮想ライフサイクル), 我々は、より多くの情報をここで見つけました https://velog.io/@khw970421/Vue-라이프사이클テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol