创建一个应用
每个 Vue 应用都是通过 createApp 函数创建一个新的 应用实例
传入create的对象实际上就是一个组件,这就创造了一个根组件,也可以从一个单文件组件(.vue)中导入
mount挂载应用,应用根组件的内容将会被渲染在容器元素内部
根组件的模板通常是组件本身的一部分,但也可以直接通过在挂载容器内编写模板来单独提供
当根组件没有设置 template 选项时,Vue 将自动使用容器的 innerHTML 作为模板
<div id="app">
<!--没有template,可以直接在这里编写作为模版的内容-->
<button @click="count++">{{ count }}</button>
</div>
应用配置
应用实例会暴露一个 .config 对象允许我们配置一些应用级的选项
例如定义一个应用级的错误处理器,用来捕获所有子组件上的错误:
app.config.errorHandler = (err) => {
/* 处理错误 */
}
应用实例还提供了一些方法.component来注册应用范围内可用的资源,例如注册一个组件:
app.component('TodoDeleteButton', TodoDeleteButton)
多个应用实例
应用实例并不只限于一个。createApp API 允许你在同一个页面中创建多个共存的 Vue 应用,而且每个应用都拥有自己的用于配置和全局资源的作用域。
const app1 = createApp({ /* ... */ })
app1.mount('#container-1')
const app2 = createApp({ /* ... */ })
app2.mount('#container-2')
如果你正在使用 Vue 来增强服务端渲染 HTML,并且只想要 Vue 去控制一个大型页面中特殊的一小部分,应避免将一个单独的 Vue 应用实例挂载到整个页面上,而是应该创建多个小的应用实例,将它们分别挂载到所需的元素上去。