vue.js - 将未声明的道具传递给子组件(如 ...args)
问题描述
我正在为 Vue 组件制作一个包装器组件。
例如,我想包装 Quasar q-input
(假设因为我正在做一些自定义样式:
// q-input-wrapper.vue
<template>
<q-input v-model="inputValue" label="Some Label">
</template>
但后来我希望q-input-wrapper
能够接受所有q-input
支持的道具。我不想在q-input-wrapper.vue
.
有没有办法绑定传递给消费的q-input-wrapper
道具q-input
?
例子:
<q-input-wrapper color="blue" icon="mail" class="some-class" style="some-style: value" />
color
,icon
都是q-input
道具,我不想明确地将它们声明为q-input-wrapper
' 道具但仍想使用它们。
可能类似于如何...args
工作?
解决方案
您可以传递任何道具v-bind="$attrs"
和任何听众v-on="$listeners"
:
<template>
<q-input v-model="inputValue" label="Some Label"
v-bind="$attrs"
v-on="$listeners"
/>
</template>
推荐阅读
- php - 我们可以接受某个数据库的所有表中的列的唯一值吗?
- hashmap - 将 SHA 256 摘要映射到整数的最有效方法是什么?
- sql - oracle中的日期元素
- python - 从文件中查找字符串并用作过滤器
- php - 如果变量是,则为多个数字
- ssas - 如何在部署具有时间维度的多维数据集时修复元数据管理器中的错误[“日期”离散化属性不能具有相关属性]
- windows - 如何使任务栏图标组中的“实时视图”在开始最小化时开始显示内容?
- keras - 将 Google Colab 设置为使用 Theano 作为后端
- amazon-web-services - AWS:从现有 Linux EC2 创建的 AMI。这对 EBS 有何影响?
- javascript - 现成的 javascript 同时显示/隐藏多个元素