props の type を複数指定したい・・・場合
- 公式の事例 プロパティのバリデーション
official
<script>
・・・
props: {
// 複数の型の許容
propB: [String, Number]
}
・・・
</script>
既存実装などでそもそも渡される型の指定がないけれど、どうも数値とみなされる値が渡されてるっぽい・・・というときに・・・
type
に直接 String
や Number
を渡すのではなく、配列に格納すると
どうも指定した型が許容されるようです。
multiple-types-props.vue
<template lang="pug">
span {{ puroppu }}
</template>
<script>
import Vue from 'vue';
export default Vue.extend({
props: {
puroppu: {
// 文字列、数字両方
type: [String, Number],
// 数字のみ `type: Number` と同義
//type: [Number],
// 文字列のみ
//type: [String],
default: () => 0,
},
},
});
</script>
墓穴掘ってる感あるのですが子コンポーネント側で :value
@input
を定義してあり
v-model
に渡す変数の型がふらふらしているような場合には効果があるかも・・・しれません