2

我使用的是TypeScript几乎全部的客户端项目。目前我正面临技术问题。TypeScript构建错误:属性在'IStateParamsService'类型上不存在

在我的HTML,我有一个锚标记象下面这样:

<a class="btn btn-default mrm" ui-sref="course-detail({courseId: '{{c.Id}}'})">Details</a> 

在我的课程细节控制,我在stateparam变量中获得的值。但是如果我想从该变量访问我的'courseId',它会给我构建错误。请检查下面的图片。

TypeScript Code with Build Error

但如果我删除if块,然后我得到的日志中类似下面的开发者控制台。

Console Log by commenting the build error code

我得课程ID属性和值继续进行。否则,我需要以纯粹的angularjs编写这个控制器,这是我不想要的。谢谢。

回答

6

Typescript倾向于通过括号符号[]明确地处理地图。

如果你想获得一个领域了,你应该使用,而不是点符号方括号地图状物体:

if (this.param['courseId'] === "00000....0000") { 
    //.. rest of the code 

这应该解决你面临的紧迫的问题。

+0

为什么?我讨厌括号记号,这对我来说很丑。 我可以禁用吗? –

相关问题