vue生命周期 详解和代码演示
时间: 2023-07-24 09:12:20 浏览: 142
Vue.js 是一个流行的 JavaScript 框架,它有一套完整的生命周期钩子函数,用于在组件的不同阶段执行特定的操作。下面是 Vue 组件的生命周期钩子函数及其对应的阶段:
1. beforeCreate: 在实例被创建之前调用,此时 data 和 methods 等属性还未初始化。
2. created: 在实例创建完成后调用,此时可以访问 data 和 methods,并可以进行一些初始化操作。
3. beforeMount: 在编译模板之前调用,此时模板还未被渲染成真实的 DOM。
4. mounted: 在编译模板之后调用,此时模板已经被渲染成真实的 DOM,并且可以进行 DOM 操作。
5. beforeUpdate: 在数据更新之前调用,此时可以进行一些更新准备工作。
6. updated: 在数据更新之后调用,此时 DOM 已经被更新。
7. beforeDestroy: 在实例销毁之前调用,此时实例仍然可用。
8. destroyed: 在实例销毁之后调用,此时实例及其所有的监听器都已被移除。
下面是一个简单的示例代码,演示了 Vue 组件的生命周期函数的使用:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue Lifecycle Demo</title>
</head>
<body>
<div id="app">
{{ message }}
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
new Vue({
el: '#app',
data: {
message: 'Hello, Vue!'
},
beforeCreate() {
console.log('beforeCreate hook')
},
created() {
console.log('created hook')
},
beforeMount() {
console.log('beforeMount hook')
},
mounted() {
console.log('mounted hook')
},
beforeUpdate() {
console.log('beforeUpdate hook')
},
updated() {
console.log('updated hook')
},
beforeDestroy() {
console.log('beforeDestroy hook')
},
destroyed() {
console.log('destroyed hook')
}
})
</script>
</body>
</html>
```
你可以在浏览器中打开该示例,然后在控制台中查看不同生命周期阶段的输出信息。
阅读全文