vue.js - Vue 和 TypeScript 所需的屬性
我使用 vue-property-decorator 在我的組件類中添加了一個必需的 prop,但當我嘗試在沒有該 prop 的情況下使用組件時,我沒有看到任何控制台錯誤提示缺少必需的 prop。為什麼?
export default class Test extends Vue {
@Prop() private message!: string;
}
以下程式碼如預期般不會產生錯誤:
<test message="Hello" />
以下程式碼應該會導致錯誤,但卻沒有:
<test />
答案#1
@Prop 裝飾器接受一個 PropOptions 對象,其中包含一個預設值為 false 的 required 屬性。要使 message 成為必填項,請在您的 @Prop 聲明中指定 required: true:
@Prop({ required: true }) private message!: string;