首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VueJS、this.$route.query.page和类型'null‘不能分配给输入'string’

VueJS、this.$route.query.page和类型'null‘不能分配给输入'string’
EN

Stack Overflow用户
提问于 2022-05-23 20:11:18
回答 1查看 1.3K关注 0票数 2

我已经为此做了大约两个小时了,没有用。我搜索过互联网,尝试过创造条件,等等。

因此,我在VueJS组件中有一个方法,如下所示:

代码语言:javascript
运行
复制
paginate() {
  const test = this.$route.query.page;
  console.log(test);
  this.currPage = parseInt(test);
}

最后一行中的"test“一词有一个红色的下划线,我收到一条错误消息,上面写着:

const测试: LocationQueryValue = LocationQueryValue[] 类型为'LocationQueryValue \ LocationQueryValue[]‘的参数不能分配给'string’类型的参数。 输入'null‘不能分配到输入’string‘..Vetur(2345)

如何在不编辑TypeScript配置文件的情况下解决TypeScript错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-23 21:23:21

这意味着test可以是null。它的类型可能是string | null,它是一个联合类型。您需要测试它以消除null的情况。

例如

代码语言:javascript
运行
复制
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);
  }
}

操场连接

请注意,上述解决方案虽然确实正确,但更改了原始代码的含义,如果this.currPage test 不是字符串,则将保持不变。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72354317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档