如果 vue 仍然报错,vue 中 props 中的默认值有什么用?

What is the purpose of the default value in props in vue if vue still throws an error?

我正在尝试了解 prop 验证是针对开发人员还是针对用户。我故意将一个组件留空

我没有传值(对了,这个传值叫什么?):<card />
正确方法:<card :name="name" />

props:{
    name: { default: "John Doe" }

但是,当我将组件留空且未传递值时,Vue 使用默认值填充模板部分中的值,同时在控制台中留下错误: Property or method "name" is not defined on the instance but referenced during render.

如果我想要一个默认值怎么办?我将继续收到该错误。

Prop 验证对开发人员和用户都有用,但可选。

我认为问题在于这一行(我将输入重构为 'myName' 来解释): <card :name="myName" />

出现错误是因为 myName 在传递给组件之前没有正确定义。

这些将用作静态示例:

  • <card name="Jesse" /> 因为名称未绑定 :v-bind:
  • <card :name="'Jesse'" /> 因为这里绑定了 name,但是是一个文字字符串 'Jesse'

<card :name="myName" /> 会起作用,你只需要断言 myName 不是未定义的。

如果你愿意,

myName 本身也可以是父组件中的一个 prop,例如: props: { myName: { default: "Jesse"} }