运算符“ ”不能应用于类型“数字”和“1”

新手上路,请多包涵

当运算符“+”无法应用于类型“数字”和“1”时出现错误

buildQuerySpec() {
  return {
    PageSize: this.paging.PageCount,
    CurrentPage: this.paging.PageIndex + 1,
    MaxSize: '',
    Filters: this.filter,
    OrderFields: [],
    IsDescending: false
  };
}

出什么问题了

 CurrentPage: this.paging.PageIndex + 1,

pageIndex 是数字,真的不知道。

原文由 Arash 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 584
2 个回答

谷歌搜索错误消息会将您带到 https://github.com/Microsoft/TypeScript/issues/2031 ,这几乎解释了它不起作用的原因。

您还可以查看“注意 事项”部分

数字、字符串、布尔值和对象

永远不要使用类型 NumberStringBoolean Object 这些类型指的是在 JavaScript 代码中几乎从未正确使用过的非原始装箱对象。

 /* WRONG */
function reverse(s: String): String;

请使用类型 numberstringboolean

 /* OK */
function reverse(s: string): string;

换句话说,将类型 Number 替换为 number

原文由 str 发布,翻译遵循 CC BY-SA 3.0 许可协议

或者,您可以尝试添加一元运算符 + 比如,

CurrentPage: +this.paging.PageIndex + 1

这也适用于您的情况。

希望这可以帮助!

原文由 David R 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题