欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

inheritAttrs和$attrs的使用

程序员文章站 2022-03-27 18:05:43
...

禁用继承属性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和$attrs的使用
当将属性修改为:inheritAttrs: true,的时候
页面的结果:
inheritAttrs和$attrs的使用
包含了所有的属性:

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

相关标签: Vue