关于Vue的组件封装

前几天翻阅了 vue-element-admin 的作者写的文章,发现了对于封装组件特别好用的属性:v-bind="$attrs" v-on="$listeners"

使用这两个属性后,封装的组件就可以把未在 Prop 中定义的属性和方法传递到下一层组件中(除了 style 和 class)。

一个案例

// SmallButton.vue
<template>
  <el-button  v-bind="$attrs" v-on="$listeners" size="small"></el-button>
</template>
...

// App.vue
<template>
  <small-button type="info" />
</template>
...

//main.js
...
Vue.component('small-button', SmallButton);
...

 

posted @ 2021-02-02 09:04  FreezeNow  阅读(217)  评论(0编辑  收藏  举报