onActivated() KeepAlive でアクティブ化されたときに呼ばれる

最終更新:2026-10-22

onActivated() KeepAlive でアクティブ化されたときに呼ばれる

onActivated() は、 にキャッシュされたコンポーネントが再び表示(アクティブ化)されるときに呼ばれます。タイマーの再開やデータの再取得に向いています。

グループライフサイクルフック
種類API
スコープコンポーネント内
Vue バージョン3.0+
SSR 対応対応

📝 構文

onActivated(() => {
  startPolling()
})

⚙️ 引数

callbackアクティブ化されたときに実行される関数

戻り値:なし

▶ 例

以下のコードを編集して結果を確認しましょう:

出力:

Switching tabs and back accumulates activations — the component was cached.

💡 ポイント

ℹ️ 補足 KeepAlive にキャッシュされたコンポーネントでのみ発火します。通常のコンポーネントでは呼ばれません。
💡 ヒント 定番のシナリオ:ポーリングの再開、リストの再取得、レイアウトの再計算。
⚠️ 注意 初回マウント時にも 1 回発火します(mounted と同じタイミング)。処理は冪等にしてください。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q onMounted との違いは?
A onMounted は最初のマウントで 1 回だけ実行されますが、onActivated はアクティブ化されるたびに実行されます。
Q キャッシュされていなければ発火しませんか?
A 発火しません。KeepAlive で包まれている必要があります。
Q ここでリクエストを送れますか?
A 送れます。「再表示時にデータを更新する」標準的な場所です。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%