【问题标题】:Typescript Error Argument of type 'number' is not assignable to parameter of type 'string'打字稿错误“数字”类型的参数不可分配给“字符串”类型的参数
【发布时间】:2018-06-19 19:47:57
【问题描述】:

我在这里做错了什么?

for (var yearx = 0; yearx < (2018 - 2011); yearx++){
    json.course[i].year[yearx] = {'value':eval(2011 + yearx),'term':[{'value':e}]};
//add terms`

…原因:

打字稿错误

“数字”类型的参数不能分配给类型参数 '字符串'

【问题讨论】:

    标签: typescript ionic3


    【解决方案1】:

    尝试将+"" 添加到e 以将其转换为字符串:

    for (let yearx = 0; yearx < (2018 - 2011); yearx++){
        json.course[i].year[yearx] = {'value':eval(2011 + yearx),'term':[{'value':e +""}]};
    

    【讨论】:

    • 我觉得.toString()更清楚:{'value': e.toString()}
    【解决方案2】:

    eval 接受字符串作为输入。你传入2011 + yearx,其中yearx 是一个数字,所以编译器会抱怨。我不确定你为什么需要eval 任何东西。只需删除该函数调用并将2011 + yearx 保存到value 键即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-26
      • 2019-10-30
      • 2018-02-21
      • 2018-06-13
      • 2017-04-23
      • 2020-03-09
      • 1970-01-01
      • 2017-08-12
      相关资源
      最近更新 更多