주의: 화살표 함수를 사용해서 라이프사이클 메소드를 정의하면 안됩니다.
created
에서 많이 합니다.vm.$nextTick
를 사용합니다.)// Parent
export default {
created() {
console.log("Parent created")
},
mounted() {
console.log("Parent mounted")
}
}
// Child
export default {
created() {
console.log("Child created")
},
mounted() {
console.log("Child mounted")
}
}
=> Parent created
=> Child created
=> Child mounted
=> Parent mounted
<template>
<div id="app">
<div v-if="isApp">
<div ref="target">hello</div>
</div>
</div>
</template>
<script>
export default {
name: "App",
data() {
return {
isApp: false,
};
},
async mounted() {
this.isApp = true;
console.log(this.$ref["target"]);
},
};
</script>
<script>
export default {
...
mounted() {
this.isApp = true;
this.$nextTick(() => {
console.log(this.$ref["target"]);
});
},
};
</script>