我试图了解道具验证是针对开发人员还是用户。我故意将一个组件留空我没有传递一个值(顺便问一下,这个传递的值叫什么?):<card />正确的做法:<card :name="name" /> props:{
name: { default: "John Doe" }但是,当我将组件留空且未传递值时,Vue 使用默认值填充模板部分中的值,同时在控制台中留下错误: Property or method "name" is not defined on the instance but referenced during render.如果我想要一个默认值怎么办?我将继续收到该错误。
1 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
Prop 验证对开发人员和用户都有用,但可选。
我认为问题在于这一行(我将输入重构为“myName”以进行解释): <card :name="myName" />
错误正在通过,因为myName
在传递给组件之前没有正确定义。
这些将作为静态示例工作:
<card name="Jesse" />
因为 name 没有绑定:
orv-bind:
<card :name="'Jesse'" />
因为 name 在这里绑定,但绑定到文字字符串 'Jesse'
<card :name="myName" />
将工作,你只需要断言 myName 不是未定义的。
myName
如果你愿意,它本身也可以是父组件中的一个道具,例如: props: { myName: { default: "Jesse"} }
添加回答
举报
0/150
提交
取消