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);
  }
}

Playground Link