Vue3 app.mount() 関数の詳細


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要素があり、そのidためにapp:

実例

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

次のコードを使用して、Vue アプリケーションをこのdiv要素にマウントできます:

実例

app.mount('#app');

このコードはidためにappのdiv要素を見つけ、Vue アプリケーションインスタンスをその要素にマウントします。マウント後、Vue はルートコンポーネントのレンダリングを開始し、App、その内容をdiv要素に挿入します。

2.2 注意事項

  • セレクタの一意性:app.mount()この関数は、セレクタに一致する最初の要素にのみマウントされます。ページ内に一致する要素が複数ある場合、Vue は最初の要素にのみマウントします。

  • マウントのタイミング:app.mount()この関数は、対象の要素が確実に存在するように、DOM の読み込み完了後に呼び出す必要があります。通常は、window.onload 或 DOMContentLoadedイベント内で呼び出します。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

その他の拡張