现在位置: 首页 > Vue3 教程 > 正文

Vue3 app.mount() 函数详解


Vue3 全局 API Vue3 全局 API

在 Vue3 中,app.mount() 是的作用是将 Vue 应用挂载到 DOM 元素上。


1. Vue3 应用的基本结构

在 Vue3 中,我们首先需要创建一个 Vue 应用实例。通常情况下,我们可以通过 createApp() 函数来创建一个应用实例:

实例

import { createApp } from 'vue';
import App from './App.vue';

const app = createApp(App);

在这个例子中,createApp() 函数接收一个根组件 App 作为参数,并返回一个应用实例 app。接下来,我们需要将这个应用实例挂载到 DOM 元素上。


2. app.mount() 函数的作用

app.mount() 函数的作用是将 Vue 应用实例挂载到指定的 DOM 元素上。它的语法如下:

实例

app.mount(selector);

其中,selector 是一个字符串,表示目标 DOM 元素的选择器。Vue 会找到与选择器匹配的第一个元素,并将应用实例挂载到该元素上。

2.1 基本用法

假设我们的 HTML 文件中有一个 div 元素,其 idapp

实例

<div id="app"></div>

我们可以通过以下代码将 Vue 应用挂载到这个 div 元素上:

实例

app.mount('#app');

这条代码会找到 idappdiv 元素,并将 Vue 应用实例挂载到该元素上。挂载后,Vue 会开始渲染根组件 App,并将其内容插入到 div 元素中。

2.2 注意事项

  • 选择器的唯一性app.mount() 函数只会挂载到与选择器匹配的第一个元素上。如果页面中有多个匹配的元素,Vue 只会挂载到第一个元素上。

  • 挂载时机app.mount() 函数应该在 DOM 加载完成后调用,以确保目标元素已经存在。通常,我们会在 window.onloadDOMContentLoaded 事件中调用 app.mount()


3. 实际应用场景

3.1 动态挂载

在某些情况下,我们可能需要动态地决定挂载点。例如,我们可能需要在不同的页面或不同的条件下将应用挂载到不同的 DOM 元素上。这时,我们可以根据条件动态地传递选择器给 app.mount()

实例

const mountElement = condition ? '#app1' : '#app2';
app.mount(mountElement);

3.2 延迟挂载

有时,我们可能希望在某个特定的时间点才挂载应用。例如,在等待某些异步操作完成后再挂载应用。这时,我们可以在异步操作完成后调用 app.mount()

实例

setTimeout(() => {
  app.mount('#app');
}, 3000); // 3秒后挂载应用

Vue3 全局 API Vue3 全局 API