TypeScript构建错误:类型' IStateParamsService'

时间:2015-12-30 11:26:19

标签: javascript angularjs typescript angular-ui-router definitelytyped

我几乎使用TypeScript整个客户端项目。目前我正面临技术问题。

在我的HTML中,我有一个如下所示的锚标记:

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

在我的课程详细控制器中,我得到了stateparam变量中的值。但是,如果我想访问我的&#39; courseId&#39;从该变量,它给我构建错误。请查看下面的图片。

TypeScript Code with Build Error

但是如果我删除IF块,那么我将在开发人员控制台中获取日志,如下所示。

Console Log by commenting the build error code

我必须获取课程Id属性和值才能继续。否则我需要用纯粹的角度编码这个控制器,这是我不想要的。谢谢。

1 个答案:

答案 0 :(得分:6)

Typescript更喜欢通过括号表示法[]来明确地处理地图。

如果你想从类似地图的对象中获取一个字段,你应该使用方括号而不是点符号:

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

这应该可以解决你所面临的直接问题。