$refs テンプレート参照コレクション

最終更新:2026-10-22

$refs テンプレート参照コレクション

$refs は ref 属性を付けた要素やコンポーネントインスタンスを保持し、スクリプトから DOM や子の API へアクセスできるようにします。

グループオプション: 合成とその他
種類オプション
スコープコンポーネント内
Vue バージョン3.0+
SSR 対応対応

📝 構文

export default {
  mounted() {
    this.$refs.input.focus()
  }
}

⚙️ 引数

value引数なし。テンプレートの ref 名を鍵としてプロパティを読み取ります

戻り値:要素またはコンポーネントインスタンス(マウント前は null。v-for 内では配列)

▶ 例

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

出力:

The input is focused on load and refocused by the button.

💡 ポイント

⚠️ 注意 $refs はリアクティブではありません。テンプレートや computed に入れないでください。
ℹ️ 補足 v-for 内の ref は配列になりますが、順序は保証されません。
💡 ヒント Composition API では代わりに ref()/useTemplateRef() を使います。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q mounted 前に undefined になるのはなぜですか?
A DOM がまだ存在しないためです。
Q 子のデータへアクセスできますか?
A 子が公開している部分だけです。
Q イベントの代わりに使えますか?
A props/emits を優先してください。ref による結合は最終手段です。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%