VueJS、this.$route.query.page 和类型 'null' 不能分配给类型 'string'
VueJS, this.$route.query.page, and Type 'null' is not assignable to type 'string'
我已经为此工作了大约 2 个小时,但无济于事。我在网上搜索过,试过创造条件等
所以我在 VueJS 组件中有一个方法,如下所示:
paginate() {
const test = this.$route.query.page;
console.log(test);
this.currPage = parseInt(test);
}
最后一行的“测试”一词有红色下划线,我收到一条错误消息:
const test: LocationQueryValue | LocationQueryValue[]
Argument of type 'LocationQueryValue | LocationQueryValue[]' is not assignable to parameter of type 'string'.
Type 'null' is not assignable to type 'string'.Vetur(2345)
不编辑TypeScript配置文件怎么解决TypeScript错误?
表示test
可以是null
。它的类型可能是 string | null
,这是一个联合类型。您需要对其进行测试以消除 null
情况。
例如
paginate() {
const test = this.$route.query.page;
console.log(test);
if (typeof test === 'string') {
// `test` has type string here because of the predicate.
this.currPage = parseInt(test);
}
}
我已经为此工作了大约 2 个小时,但无济于事。我在网上搜索过,试过创造条件等
所以我在 VueJS 组件中有一个方法,如下所示:
paginate() {
const test = this.$route.query.page;
console.log(test);
this.currPage = parseInt(test);
}
最后一行的“测试”一词有红色下划线,我收到一条错误消息:
const test: LocationQueryValue | LocationQueryValue[]
Argument of type 'LocationQueryValue | LocationQueryValue[]' is not assignable to parameter of type 'string'.
Type 'null' is not assignable to type 'string'.Vetur(2345)
不编辑TypeScript配置文件怎么解决TypeScript错误?
表示test
可以是null
。它的类型可能是 string | null
,这是一个联合类型。您需要对其进行测试以消除 null
情况。
例如
paginate() {
const test = this.$route.query.page;
console.log(test);
if (typeof test === 'string') {
// `test` has type string here because of the predicate.
this.currPage = parseInt(test);
}
}