Props-3

透過宣告 props 的方式,來進行屬性驗證。

在 component 中的 props,有兩種宣告的方式。

  • 陣列宣告 - 型別不被限制。
  • 物件宣告 - 可以定義屬性類型、驗證器等。

# 陣列宣告:

props: ['name', 'age', 'coding', 'habits', 'parents'];

# 物件宣告:

透過給予每一個傳進來的值一個型別,當傳入的資料型別錯誤時,console 中會告訴你錯誤的屬性名稱期望型別目前型別,在開發除錯時非常的方便。

props: {
  name: Number,
  age: Number,
  coding: Boolean,
  habits: Array,
  parents: Object,
},

# 複數型別:

有時候傳進來的資料型別可以是多個的,設定如下:

props: {
  name: [String, Number],
  ...
  ...
  ...
  ...
}

# 可設定的型別:

  • String
  • Number
  • Boolean
  • Array
  • Object
  • Date
  • Function
  • Symbol

# props 的多功能設定:

props: {
  ...
  age: {
    type: Number,
    required: true,
    default: 15,
    validator: function (value) {
      return value >= 0;
    },
  },
  ...
  ...
  ...
}

type:設定傳入資料的型別。

required:父物件是否必須傳遞資料到 component。

default:當沒有獲取到資料時,預設的值。

validator:驗證值是否滿足條件。