使用以下代碼,Vetur 推斷x,y為具有 type number | undefined。
undefined導致大量警告進一步使用x,y.
如何undefined從型別推斷中洗掉?
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
props: { x: Number, y: Number },
setup(props) {
let { x, y } = props
},
})
</script>
uj5u.com熱心網友回復:
默認情況下,所有props這些都是可選的(可能是),因此您的 s 鍵入為.undefinedpropnumber | undefined
您可以prop根據需要使用長形式的 prop 宣告來宣告 s,它| undefined從prop's 型別中洗掉:
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
props: {
x: {
type: Number,
required: true, //??
},
y: {
type: Number,
required: true, //??
},
},
setup(props) {
let { x, y } = props
},
})
</script>
演示
順便說一句,Vetur 已被棄用,而Volar是 Vue 3 和 TypeScript 的官方支持的 VS Code 擴展,因此請考慮切換。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/435628.html
