我的组件:

const fieldProps = { name: 'phone', value: '' }

<InputField {...fieldProps} />

这些道具在this.$vnode.data而不是this.$props中找到。

当我分别传递道具时,可以在this.$props中找到道具。

即:<InputField name={'phone'} value="" />

最佳答案

如果您错过了在props组件中添加InputField键的情况,则道具仅在$vnode中可用,而在$props中不可用。

要使它起作用,必须在props内部使用键fieldProps。在代码段here中已提及。

所以fieldProps应该看起来像这样:

const fieldProps = {
    props: { name: 'phone', value: '' }
}


请查看Hello组件中的sandbox,并注释/取消注释props属性,以查看区别。

关于javascript - 结合使用JSX和VueJS,为什么将我的传播算子 Prop 分配给$ vnode.data?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48467160/

10-10 00:26