グローバル API: 汎用
version
Vue の現在のバージョンを公開します。
-
型:
string -
例
nextTick()
次の DOM 更新処理を待つためのユーティリティーです。
-
型
-
詳細
Vue でリアクティブな状態を変更したとき、その結果の DOM 更新は同期的に適用されません。その代わり、Vue は「次の tick」まで更新をバッファリングし、どれだけ状態を変更しても各コンポーネントの更新が一度だけであることを保証します。
状態を変更した直後に
nextTick()を使用すると、DOM 更新が完了するのを待つことができます。引数としてコールバックを渡すか、戻り値の Promise を使用できます。 -
例
defineComponent()
型推論つきの Vue コンポーネントを定義するための型ヘルパー。
-
型
読みやすくするため、型は単純化されています。
-
詳細
最初の引数には、コンポーネントオプションのオブジェクトを指定します。この関数は基本的に型推論のためだけに実行されるものなので、戻り値は同じオプションオブジェクトになります。
戻り値の型は少し特殊で、オプションに基づいて推測されたコンポーネントのインスタンス型を持つコンストラクタ型になることに注意してください。これは、返された型が TSX のタグとして使われるときに型推論に使われます。
次のように、
defineComponent()の戻り値の型からコンポーネントのインスタンス型(オプションのthisの型に相当)を抽出することができます:関数シグネチャー
-
3.3 以上でのみサポートされています
defineComponent()には、Composition API と レンダー関数か JSX で使うための代替シグネチャーもあります。オプションオブジェクトを渡す代わりに、関数を受け取ります。この関数は、Composition API の
setup()関数と同じ働きをします: つまり props と setup コンテキストを受け取ります。戻り値はレンダー関数であるべきで、h()と JSX の両方がサポートされています:このシグネチャーの主なユースケースは、ジェネリックをサポートしているため、TypeScript(特に TSX)での使用です:
将来的には、ランタイム props を自動的に推論して注入する Babel プラグインを提供し(SFC の
definePropsのように)、ランタイム props 宣言を省略できるようにする予定です。webpack のツリーシェイキングに関する注意
defineComponent()は関数呼び出しなので、webpack などのビルドツールでは副作用が発生するように見えるかもしれません。これは、コンポーネントが一度も使われていないときでも、コンポーネントがツリーシェイクされるのを防ぐことができます。この関数呼び出しがツリーシェイクされても安全であることを webpack に伝えるには、関数呼び出しの前に
/*#__PURE__*/のコメント表記を追加します:これは Vite を使っている場合には必要ないことに注意してください。Rollup(Vite が使用するプロダクションのバンドラー)は賢いので、手動でアノテーションを付けなくても
defineComponent()が実際には副作用がないことを判断できます。
defineAsyncComponent()
レンダリング時にのみ遅延読み込みされる非同期コンポーネントを定義します。引数にはローダー関数か、読み込み動作をより詳細に制御するためのオプションオブジェクトを指定します。
-
型