【发布时间】:2020-12-11 13:17:12
【问题描述】:
我正在使用如下的 vue 类样式组件。
@Component()
export default class Transfer extends Vue {
@Prop({ default: [] })
buttonTexts!: [];
get hasButtonTexts() {
return this.buttonTexts.length === 2; // Here it gives error.
}
}
显示错误如下:
“此条件将始终返回 'false',因为类型 '0' 和 '2' 没有重叠”
这是一个错误还是我在这里做错了什么?
【问题讨论】:
-
嗨,这里没有 Vue 可做的事情,它是 Javascript 为您创建错误。你能告诉我
this.buttonTexts.length的值是什么,它的类型是什么 -
什么是
buttonTexts!,为什么会有!? -
根据 typescript,默认情况下它的类型为 never (never[])。当我做“任何[]”时,它就起作用了。那么 "never[]" 有什么问题呢?所以这是从不输入的问题。任何对我有用。所以现在问题解决了。现在的问题是,为什么它不能与 never[] 一起使用?
-
@Luuk。三重平等仍然应该工作。因为长度是数字,2也是数字。
标签: typescript vue.js