在 react 中可以直接使用 <Child {...props}/>这样的方式,在 vue 中应该怎样实现呢?
1
xclin163 2020-11-16 16:55:11 +08:00
<Child v-bind="$props" />
|
2
TsubasaHanekaw 2020-11-16 16:57:35 +08:00
v-bind="$props" v-on="$listeners"
|
3
geylnu 2020-11-16 17:10:23 +08:00
默认就会给根元素加上父组件传来的属性
|
4
ryncv 2020-11-16 17:26:55 +08:00
@TsubasaHanekaw 一个小 tips: 这种方式如果绑定有 v-model 需要另外处理 https://github.com/vuejs/vue/issues/7042
|
5
user8341 2020-11-16 17:35:21 +08:00
@TsubasaHanekaw
vue 3 好像有不向下兼容的改动(breaking change)。 v3.vuejs.org/guide/migration/listeners-removed.html#_2-x-syntax |
6
lemonnTr 2020-11-17 09:49:22 +08:00
@ryncv 刚看这个 issue 还有点疑惑为啥 v-model 不能绑定,后来想想我都是直接使用 <Child v-bind="$attrs" v-on="$listeners" />,而不是单独使用 v-on="$listeners"。
|
7
Sapp 2020-11-17 14:05:29 +08:00
vue 默认就会这样,然而这是个大坑。
|
8
JayLin1011 2020-11-19 10:03:10 +08:00
1. $attrs;
2. provide. |