返回

Vue 2.0 实例化与生命周期详解,助你领悟 Vue 精髓

前端

作为一名初学者,进入Vue的第一步便是创建Vue实例。事实上,Vue框架的入口就是Vue实例,它相当于框架中的ViewModel,包含页面中的业务处理逻辑、数据模型等。

1. 创建 Vue 实例

const app = new Vue({
  // 配置选项...
});

2. Vue 实例生命周期

2.1 beforeCreate

当实例初始化时,在创建实例之前执行。此时,实例还没有被创建,所以不能访问this

2.2 created

实例被创建后,在它被挂载到DOM之前执行。此时,实例已经创建,但是还没有被挂载,所以依然不能访问this.$el

2.3 beforeMount

实例挂载到DOM之前执行。此时,实例已经创建并且挂载到DOM,但模板还没有编译。

2.4 mounted

实例挂载到DOM并模板编译完成之后执行。此时,实例已经创建、挂载并且模板已经编译完成,可以访问this.$el

2.5 beforeUpdate

实例数据发生变化之前执行。此时,新的数据已经计算完成,但模板还没有重新编译。

2.6 updated

实例数据发生变化之后执行。此时,新的数据已经计算完成并且模板已经重新编译完成。

2.7 beforeDestroy

实例销毁之前执行。此时,实例还没有被销毁,所以还可以访问thisthis.$el

2.8 destroyed

实例销毁之后执行。此时,实例已被销毁,thisthis.$el均不可用。

3. 实例生命周期实例

3.1 render函数

render() {
  return <div>
    <h1>{{ title }}</h1>
    <p>{{ content }}</p>
  </div>
}

4. 使用 Vue 生命周期钩子

使用 Vue 生命周期钩子函数,可以让我们在某些时刻执行特定操作。例如:

  • beforeCreate:在实例初始化时,创建实例之前执行。
  • created:实例被创建后,在它被挂载到DOM之前执行。
  • beforeMount:实例挂载到DOM之前执行。
  • mounted:实例挂载到DOM并模板编译完成之后执行。
  • beforeUpdate:实例数据发生变化之前执行。
  • updated:实例数据发生变化之后执行。
  • beforeDestroy:实例销毁之前执行。
  • destroyed:实例销毁之后执行。

5. 总结

  • Vue 实例是进入 Vue 的第一步,也是 Vue 框架的入口。
  • Vue 实例生命周期涵盖实例从创建到销毁的整个过程,提供了多种钩子函数,允许我们在特定时刻执行特定操作。
  • 了解 Vue 实例生命周期可以帮助我们更好地理解 Vue.js 的工作原理和使用方式,从而提高开发效率和应用程序质量。