【Vue学习笔记2】应用

108 阅读1分钟

创建一个应用

每个 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 应用实例挂载到整个页面上,而是应该创建多个小的应用实例,将它们分别挂载到所需的元素上去。