- Vue
same::
Vue 处理组件多余的属性
说明:
注意卡多余属性指的是:
<div fuck="lala"></div>而不是:<div :fuck="lala"></div>实例:
1. 关闭自动继承属性
createApp({ components: { test: { inheritAttrs: false,//关闭自动继承 template: ` <div> <h1 v-bind="$attrs">hhhh</h1> </div> `,//所有传入的多余属性都会以键值对的形式保存在$attrs对象中 } } }).mount('#app');<div id="app"> <test fuck="Lala" shit="haha"></test> </div>最终渲染成
<div id="app"> <div> <h1 fuck="Lala" shit="haha">hhhh</h1> </div> </div>2. 开启自动继承属性:
createApp({ components: { test: { template: ` <div> <h1 v-bind="$attrs">hhhh</h1> </div> `, } } }).mount('#app');<div id="app"> <test fuck="Lala" shit="haha"></test> </div>最终渲染成:
<div id="app"> <div fuck="Lala" shit="haha"> <h1 fuck="Lala" shit="haha">hhhh</h1> </div> </div>2.1. 说明:
- 自动继承会自动把这些多余属性都添加到组件模板中的最顶级标签
- 如果有多个最顶级标签, 且没有手动指定多余属性的去处, 则会弹出警告, 但不报错
- 自动继承会自动把这些多余属性都添加到组件模板中的最顶级标签