Vue组件分装之$attrs、$listener传递属性及事件

使用v-bind="$attrs"来将父组件的属性传递给自定义按钮

使用v-on="$listeners"将父组件的事件监听器传递给自定义按钮。

使用$slots获取父组件所有插槽以及作用域插槽对应的参数#[name]="scopeData"

这样,自定义按钮就能够直接响应父组件的事件,而不需要手动触发。

javascript 复制代码
  <Select ref="selectRef" v-bind="$attrs" v-on="$listener">
    <template v-for="(value, name) in $slots" #[name]="scopeData">
      <slot :name="name" v-bind="scopeData || {}"></slot>
    </template>
    <Option v-for="(item, index) in optionDatas" :value="item.value" :key="item.value + index">{{
      item.label
    }}</Option>
  </Select>
相关推荐
打瞌睡的朱尤几秒前
Vue day11商品详细页,加入购物车,购物车
前端·javascript·vue.js
数据知道5 分钟前
PostgreSQL:详解 pgAudit 插件的使用(数据脱敏与审计)
数据库·postgresql
_千思_6 分钟前
【小白说】数据库系统概念 2
数据库·oracle
Re.不晚8 分钟前
Redis——分布式锁
数据库·redis·分布式
桂花很香,旭很美9 分钟前
[7天实战入门Go语言后端] Day 3:项目结构与配置——目录组织、环境变量与 viper
开发语言·数据库·golang
倔强的石头10612 分钟前
国产化时序替换落地指南:用金仓数据库管好海量时序数据
数据库·kingbase
生命因何探索15 分钟前
Redis—主从复制+哨兵
数据库·redis·php
undefinedType19 分钟前
rails知识扫盲
数据库·后端·敏捷开发
wcbsky0619 分钟前
MySQL数据库误删恢复_mysql 数据 误删
数据库·mysql·adb
zsyf198721 分钟前
mysql 迁移达梦数据库出现的 sql 语法问题 以及迁移方案
数据库·sql·mysql