如何将相同的道具两次传递给 vue 组件

How to pass same prop twice to vue component

可以用 vue 做到这一点:

const someComputedClass = 'otherClass'
<Foo class="someClass" :class="someComputedClass" />

您可以传递 class 和 :class,它将合并两者。我知道 class 属性在这里有某种特殊处理。但是,我也希望我自己的组件的 prop 具有这种行为。

const someComputedProp = 'otherValue'
<Foo prpp="someValue" :prop="someComputedProp " />

有没有办法实现这个(也许使用自定义合并策略)或者这完全不可能?

合并策略用于在创建组件时从选项 API 和混合中控制 merging of overlapping options

styleclass 道具的特殊处理是一个运行时的事情,它之所以起作用,只是因为 Vue 开发人员认为这是一件有用的事情,并以这种方式实现了它。

除非 Vue 开发人员决定实施它,否则您想要的是不可能的......我对此表示怀疑 - 因为为 classstyle 实施它很简单,因为“输出”定义明确按 HTML 标准。为任何 prop 实现相同的事情要困难得多,因为您事先不知道道具的数据类型(与 classstyle 相对)——即如何合并如果道具的数据类型是 NumberString ?

TL:DR

这是不可能的。继续...