【问题标题】:argument type "X" is not assignable to parameter type "Y"参数类型“X”不能分配给参数类型“Y”
【发布时间】:2014-03-20 13:37:59
【问题描述】:

我对 webstorm IDE 有疑问。似乎webstorm总是在IDE中显示无效参数的错误,但打字稿编译器没有显示这样的错误;我开始相信这个问题出在 IDE 上。

我有以下存储库:https://github.com/danielmahadi/modular-typescript

有 4 个打字稿文件:

  • customerModel.ts => 客户模型文件

    export class User{
        constructor(public id: string, public name: string){}
    }
    
  • converter.ts => 将 json 数据转换为客户模型

    import model = require('./customerModel')
    
    export function convertToUser(data: any) : model.User {
        return new model.User(data.id, data.name);
    }
    
  • printer.ts => 将客户模型打印到控制台

    import model = require('./customerModel')
    
    export function print(data : model.User) : void {
        console.log('PRINTING...');
        console.log(data);
    }
    
  • app.js => 应用的入口点。

    import converter = require('./converter');
    import printer = require('./printer');
    
    var d = {
        id: '123', name: 'Test'
    }
    
    var user = converter.convertToUser(d);
    printer.print(user);
    

环境:

  1. webstorm 7.0.3,内部版本号:WS-133.434
  2. Mac OSX 与 Maverick
  3. 打字稿版本:0.9.5.0

打字稿的打字稿文件观察器设置:

  • Typescript 编译器 => tsc --module commonjs --sourcemap $FileName$

如果你用 webstorm IDE 打开它,你会看到在 app.ts 第 15 行,“user”总是用红线加下划线,错误 “Argument type './customerModel'.User is不可分配给参数类型 model.User"

这是错误的样子:

有没有其他人遇到过这种情况?是我做错了什么,还是这只是另一个 webstorm 错误?

【问题讨论】:

    标签: node.js typescript webstorm modular-design


    【解决方案1】:

    绝对是 webstorm 中的一个错误。如果您在此处报告,将不胜感激:http://youtrack.jetbrains.com/issues/WEB 并提供链接以便我们对其进行投票。

    【讨论】:

      【解决方案2】:

      请尝试WebStorm 8 EAP - 该错误似乎已修复

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-25
        • 2019-01-27
        • 1970-01-01
        • 2021-03-02
        • 2021-04-09
        • 2016-04-16
        • 2018-02-09
        • 1970-01-01
        相关资源
        最近更新 更多