TypeScript错误警告,但它的工作原理

时间:2016-06-16 16:01:32

标签: typescript angular

我正在使用angular2-rc1

import {RouteParams} from '@angular/router-deprecated';

constructor(
    private _routeParams: RouteParams
){}

ngOnInit() {
  var routeParams = this._routeParams.params

  if(routeParams.code){
    console.log('has code param', routeParams.code);
  }
}

在我的编辑器中(我正在使用atom)它给了routeParams.code一个错误,并说Property 'code' does not exist on type {'[key:string]:string; }一切正常,甚至控制台日志都会记录代码参数。我似乎无法弄清楚为什么会在这里或如何摆脱它。

更令人讨厌的是,当我启动服务器(npm start)时,它会出现此错误并且无法启动。我必须将其评论出来,然后服务器将启动,然后我可以取消注释它,一切正常。任何想法为什么会发生这种情况和/或我如何摆脱打字稿错误?让我知道任何其他信息可以提供帮助,我很遗憾。

1 个答案:

答案 0 :(得分:1)

这可能是一种类型错误。由于routeParams变量没有类型,因此打字稿的.code属性出现问题。

您可以为对象创建界面:this._routeParams.params

var routeParams: customObjectDTO = this._routeParams.params;

或者你可以:

var routeParams: any = this._routeParams.params;