$attrs $attrs Collection

Last updated: 2026-10-22

$attrs $attrs Collection

$attrs gathers attributes the parent passed that props did not declare — forward them precisely with inheritAttrs: false.

GroupOptions: Composition & Misc
KindOption
ScopeComponent
Vue Version3.0+
SSR SupportYes

📝 Syntax

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

⚙️ Arguments

valueNo arguments; includes class, style and listeners

Returns:A readonly object

▶ Example

Edit the code below and see the live result:

Output:

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

💡 Key Points

⚠️ Warning $attrs is readonly — writes warn and do nothing.
ℹ️ Note It includes listeners, so v-bind="$attrs" forwards events too.
💡 Tip The Composition API equivalent is useAttrs().
More case studies coming soon.

📚 Related Tutorials

❓ FAQ

Q How does it split with props?
A Declared props go to props; everything else lands here.
Q Are class and style included?
A Yes, and they merge rather than replace.
Q Why do attributes sometimes disappear?
A Multi-root templates without a manual bind drop them.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏