$attrs $attrs コレクション

最終更新:2026-10-22

$attrs $attrs コレクション

$attrs は、親が渡したもののうち props で宣言されていない属性を集めます。inheritAttrs: false と組み合わせて正確に転送します。

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

📝 構文

export default {
  inheritAttrs: false,
  template: "<input v-bind=\"$attrs\">"
}

⚙️ 引数

value引数なし。class、style、リスナーを含みます

戻り値:読み取り専用オブジェクト

▶ 例

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

出力:

The input carries placeholder and type; the label reads 'Email'.

💡 ポイント

⚠️ 注意 $attrs は読み取り専用です。書き込むと警告が出て何も起きません。
ℹ️ 補足 リスナーを含むため、v-bind="$attrs" はイベントも転送します。
💡 ヒント Composition API では useAttrs() が相当します。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q props との分担は?
A 宣言された props は props へ行き、それ以外はすべてここに落ちます。
Q class と style も含まれますか?
A 含まれます。しかも置き換えではなくマージされます。
Q 属性が消えることがあるのはなぜですか?
A 手動バインドのない複数ルートテンプレートはそれらを捨てます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%