javascript - 将 JSX 与 VueJS 一起使用,为什么我的传播运算符 Prop 分配给 $vnode.data?

标签 javascript vue.js

我的组件:

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

<InputField {...fieldProps} />

这些 Prop 可以在 this.$vnode.data 中找到而不是 this.$props .

当我单独传递 Prop 时,在 this.$props 中找到 Prop .

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

最佳答案

如果您错过了在 InputField 组件中添加 props 键,则 Prop 将仅在 $vnode 中可用,而在 中不可用$ Prop

fieldProps 中需要关键的 props 才能使其工作。在代码片段中提到了 here .

所以 fieldProps 应该是这样的:

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

请看这个sandboxHello 组件中注释/取消注释 props 属性以查看区别。

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

相关文章:

vue.js - 类型错误 : Cannot read properties of null (reading 'isCE' ) - Custom Component Library

javascript - 如何在 Vue 自定义指令中添加事件监听器?

javascript - 如何使用 Vue/Vuex 设置动态对象值?

css - 在 Vuejs 中拥有全局 css 的最佳方式

javascript - 当页面失去焦点时,具有 setInterval() 方法的 jQuery 画廊无法正常工作

javascript - 使用 javascript 启用 ASP.NET 超链接

javascript - 从功能上总结集合

javascript - 如果我没有表单,如何触发 html 验证

javascript - d3.js 中的 Z 索引

vue.js - Vue js多选隐藏带空的三角形