inheritAttrs和$attrs的使用

禁用继承属性inheritAttrs和$attrs的使用

Index.html:

<div id="app">
        <test-input
         v-bind:class="class1"
         v-bind:style="{fontSize:17+'px'}"
         v-bind:test1='test1'
         test2="test2"
         placeholder="placeholder test3"
        ></test-input>
    </div>

Index.js:

Vue.component('test-input', {
  inheritAttrs: false,
  template: `<label >
                 <p v-bind="$attrs">测试</p>
                  <input  v-bind="$attrs">
             </label>`
})
new Vue({
  el:'#app',
  data:{
    class1:'class1note',
    test1:'test1note',
    test2:'test2note',
},
})

页面结果:
在这里插入图片描述
当将属性修改为:inheritAttrs: true,的时候
页面的结果:
在这里插入图片描述
包含了所有的属性:

最后总结:
当inheritAttrs的属性值为true(不写该行属性的结果同true,也就是inheritAttrs默认为true),组件的根元素会自动继承所有的属性!当为false的时候,根元素只会继承注册的属性,自建的属性不会继承!!
a t t r s : 它 包 含 了 父 组 件 所 有 的 自 建 属 性 ! 可 以 通 过 v − k i n d = “ attrs:它包含了父组件所有的自建属性!可以通过v-kind=“ attrs:vkind=attrs”将所有自建属性赋给想要的元素上!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值