每个 Vue 应用都是通过用 createApp 函数创建一个新的应用实例开始的:

  1. const app = Vue.createApp({})
  2. app.component('SearchInput', SearchInputComponent)//之前是Vue.component
  3. app.directive('focus', FocusDirective)
  4. app.use(LocalePlugin)

Vue 还通过组件实例暴露了一些内置 property,如 $attrs 和 $emit。这些 property 都有一个 $ 前缀,以避免与用户定义的 property 名冲突。

生命周期钩子

每个组件在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。
组件生命周期 - 图1