vue中的$attrs 与 $listeners 的用法
vue中的 $attrs 与 $listeners ,主要是作为一个中间层,承接组件外部与内部的属性与方法。
示例:
// child.vue
1 2 .child-page 3 .text 展示code:{{code}} 4 el-button(v-bind="$attrs" v-on="$listeners") 5 slot 6 7
// parent.vue
1 2 child(type="primary" size="small" @click="dian" code="btnCode") 点击 3 4
展示效果:
如果不使用$attrts 与 $listeners,那么会增加很多的代码量,代码不够优美简约,示例如下:
// child.vue
1 2 .child-page 3 .text 展示code:{{code}} 4 // 麻烦1 :要把props都列出来传给按钮; 麻烦2:还得把对应的事件emit出去 5 el-button(:disabled="disabled" :size="size" :type="type" @click="()=>{this.$emit('click')}") 6 slot 7 8
parent.vue没有改动