TypeScript构建错误:类型"IStateParamsService"上不存在属性

Foy*_*rim 2 javascript angularjs typescript definitelytyped angular-ui-router

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

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

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

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

带有构建错误的TypeScript代码

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

控制台通过注释构建错误代码来记录

我必须获得课程Id属性和值才能继续.否则我需要在纯粹的angularjs中编码这个控制器,这是我不想要的.谢谢.

Eth*_*nar 6

Typescript更喜欢通过括号表示法[]明确地在地图上工作.

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

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

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