- node : v14.17.1
- Vue : v2
- Vue.js 가이드를 참고하여 작성
- 패스트캠퍼스 Vue.js 압축 완성 올인원 패키지 Online 강의 내용 참고
this.$el
를 사용할 수 없음vm.$on
, vm.$once
, vm.$off
, vm.$emit
)가 세팅되지 않은 시점[ index.html ]
<div id="app-1">
<div ref="msg">{{ msg }}</div>
<div ref="div"> ref div </div> <!-- 참조 속성 -->
</div>
[ index.js ]
const vm = new Vue({
el: '#app-1',
data: {
msg: 'Hello Vue'
},
beforeCreate () { // 생성 전
console.log('beforeCreate!', this.msg, this.$refs.div)
},
created () { // 생성
console.log('created!', this.msg, this.$refs.div)
},
beforeMount () { // 마운트 업데이트 전
console.log('beforeMount!', this.msg, this.$refs.div)
},
mounted () { // 마운트 업데이트
console.log('mounted!', this.msg, this.$refs.div)
},
beforeUpdate () { // 반응성 데이터 업데이트 전
console.log('beforeUpdate!', this.$refs.msg.innerText)
},
updated () { // 반응성 데이터 업데이트
console.log('updated!', this.$refs.msg.innerText)
},
beforeDestroy () { // 반응성 제거 전
console.log('beforeDestroy!')
},
destroy () { // 반응성 제거
console.log('destroy!')
}
})
[ Rendering ]
undefined
undefined
undefined
<div> ref div </div>
가 확인됨vm.msg
값을 'new message'로 변경 시, 반응성으로 돔과 실제 데이터가 변경됨vm.msg
를 'another message'로 변경 시 돔의 데이터가 변경되지 않음