千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)

父組件向子組件傳值
+ 傳遞語法:<子組件 :自定義屬性="值" />
=> 注意:
+ 自定義屬性不能以 v- 中橫線開頭
+ 我們傳遞時,如果傳遞的數(shù)據(jù)不是字符串類型的,一般需要加上 :
+ 接收語法:
=> 數(shù)組:props: ["父組件傳遞的自定義屬性名", ......]
=> 對象:props: { 自定義屬性名: { 配置項 } },一般公用組件使用這種方式
+ 配置項:
=> type:類型,注意 JS 中的類型首字母是大寫的
=> required:是否必傳,布爾值,該屬性必須設(shè)置,否則會報錯
=> default:默認值,可以通過值或者回調(diào)函數(shù)返回值的方式設(shè)置值
+ 基礎(chǔ)類型的數(shù)據(jù),直接給值
+ 引用類型的數(shù)據(jù),只能寫函數(shù)返回值
+ 語法:default: ( ) => 值/default: 值
=> validator:自定義傳遞過來的數(shù)據(jù)的回調(diào)
+ 語法:validator(value) => { return 布爾值; }
=> 注意:數(shù)組中的元素就是在父組件中自定義屬性的名稱,兩者要一致
+ 注意:
=> 如果沒定義 props 選項,則父組件自定義的屬性會被 $attrs 變量接受,但是如果定義了 props 則 $attrs 不會有此屬性
=> props 是一個單項數(shù)據(jù)流,子組件不能直接修改父組件傳過來的數(shù)據(jù),想修改只能通過父組件來完成,如果非要直接修改,Vue 也是可以的,但是會有警告,不推薦直接修改,要是在公司中有直接修改,可能會挨罵受處分
標簽: