vue-property-decoratorを使い、VueのプロジェクトでTypeScriptを書いています。
2点記述で分からない箇所があるのでご教授お願いします。
- 以下のようにPropsで受け取る文字列を限定したいのですが、エディタ上もブラウザ上も型エラーが出ません。
Stringとして型宣言するしかありませんか?
// 子コンポーネント <sample-button :type="type" export default class Button extends Vue { @Prop() type?: 'test1' | 'test2' // 親コンポーネント <template> <sample-button type="aaaaaaaaa" > // エラーが起きない </template>
2.また、以下のように型宣言をする際
@Prop({ type: String, required: true }) text!: string
{ type: String, required: true }
text!: string
と宣言が重複していますが、
@Prop() text!: string
という書き方でもいいのでしょうか?
あなたの回答
tips
プレビュー