我正在使用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
)时,它会出现此错误并且无法启动。我必须将其评论出来,然后服务器将启动,然后我可以取消注释它,一切正常。任何想法为什么会发生这种情况和/或我如何摆脱打字稿错误?让我知道任何其他信息可以提供帮助,我很遗憾。
答案 0 :(得分:1)
这可能是一种类型错误。由于routeParams
变量没有类型,因此打字稿的.code
属性出现问题。
您可以为对象创建界面:this._routeParams.params
。
var routeParams: customObjectDTO = this._routeParams.params;
或者你可以:
var routeParams: any = this._routeParams.params;