Vue和TypeScript必需的道具

时间:2019-06-28 04:54:52

标签: typescript vue.js vuejs2 vue-component

我使用vue-property-decorator向组件类添加了必需的道具,但是当我尝试使用没有道具的组件时,我没有看到任何控制台错误,表明缺少必需的道具。为什么?

export default class Test extends Vue {
  @Prop() private message!: string;
}

以下代码不会产生预期的错误:

<test message="Hello" />

以下代码应导致错误,但不会导致错误:

<test />

1 个答案:

答案 0 :(得分:5)

@Prop装饰器接受一个PropOptions对象,该对象包含一个required属性,默认值为false。要使message为必需,请在required: true声明中指定@Prop

@Prop({ required: true }) private message!: string;

Edit Vue Template