您好,登錄后才能下訂單哦!
這篇文章主要介紹“Vue組件怎么設置Props”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Vue組件怎么設置Props”文章能幫助大家解決問題。
在 Vue 中構建組件通常需要定義一些屬性,以使組件可以更好復用,在這種情況下會使用 props 來自定義數據來傳遞數據。接下來以一個簡單的組件來介紹如何使用組件 props 。
<CrayonAlert title="友情提示" description="請輸入真實的信息" />
如上面代碼所示,組件定義兩個屬性 title 和 description,組件代碼如下:
<template> <div> <h3>{{ title }}</h3> <p>{{ description }}</p> </div> </template> <script> export default { name: "CrayonAlert", props: { title: { type: String, }, description: { type: String, }, }, }; </script>
props 不僅限于 String ,還可以是以下類型:
Object
Array
Symbol
Function
Number
String
Date
Boolean
在上面代碼中,當組件沒有傳入相應的屬性值的情況下,會顯示 undefined 或者在模板HTML沒有任何文本,這個時候可以考慮定義一個默認值:
export default { name: "CrayonAlert", props: { title: { type: String, default: "提示", }, description: { type: String, default: "描述", }, }, };
設置好默認值后,在沒有傳入任何參數值的時候,會顯示默認值。這種方式在 Vue2 比較常用。
跟 Form 數據一樣,組件屬性值也可以對其進行驗證,如下:
export default { name: "CrayonAlert", props: { title: { type: String, validator(value) { return value !== ""; }, }, description: { type: String, validator(value) { return value !== ""; }, }, }, };
在 Vue3 中,引入了一種稱為 Composition API 的新方法。在 Composition API 中,定義 props 使用 defineProps 函數。定義沒有默認值的屬性如下所示:
import { defineProps } from "vue"; const props = defineProps({ title: { type: String, }, description: { type: String, }, });
設置默認值和在Vue2 中有點類似,如下:
import { defineProps } from "vue"; const props = defineProps({ title: { type: String, default: "提示", }, description: { type: String, default: "描述", }, });
為了避免在屬性上設置默認值,可以通過使用 required 字段來設置屬性為必須項。定義代碼如下:
import { defineProps } from "vue"; const props = defineProps({ title: { type: String, default: "提示", required: true, }, description: { type: String, default: "描述", required: true, }, });
關于“Vue組件怎么設置Props”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。