$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 手動バインドのない複数ルートテンプレートはそれらを捨てます。