猛跑小豬
2022-12-22 12:19:49
我試圖了解道具驗(yàn)證是針對開發(fā)人員還是用戶。我故意將一個(gè)組件留空我沒有傳遞一個(gè)值(順便問一下,這個(gè)傳遞的值叫什么?):<card />正確的做法:<card :name="name" /> props:{
name: { default: "John Doe" }但是,當(dāng)我將組件留空且未傳遞值時(shí),Vue 使用默認(rèn)值填充模板部分中的值,同時(shí)在控制臺中留下錯誤: Property or method "name" is not defined on the instance but referenced during render.如果我想要一個(gè)默認(rèn)值怎么辦?我將繼續(xù)收到該錯誤。
1 回答

飲歌長嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
Prop 驗(yàn)證對開發(fā)人員和用戶都有用,但可選。
我認(rèn)為問題在于這一行(我將輸入重構(gòu)為“myName”以進(jìn)行解釋): <card :name="myName" />
錯誤正在通過,因?yàn)?code>myName在傳遞給組件之前沒有正確定義。
這些將作為靜態(tài)示例工作:
<card name="Jesse" />
因?yàn)?name 沒有綁定:
orv-bind:
<card :name="'Jesse'" />
因?yàn)?name 在這里綁定,但綁定到文字字符串 'Jesse'
<card :name="myName" />
將工作,你只需要斷言 myName 不是未定義的。
myName
如果你愿意,它本身也可以是父組件中的一個(gè)道具,例如: props: { myName: { default: "Jesse"} }
添加回答
舉報(bào)
0/150
提交
取消