javascript - TypeScript 构建错误 : Property does not exist on type 'IStateParamsService'

标签 javascript angularjs typescript angular-ui-router definitelytyped

我几乎在整个客户项目中都使用 TypeScript。目前我面临一个技术问题。

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

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

在我的类(class)详细信息 Controller 中,我在 stateparam 变量中获取值。但是,如果我想从该变量访问我的“courseId”,就会出现构建错误。请检查下图。

TypeScript Code with Build Error

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

Console Log by commenting the build error code

我必须获取类(class) Id 属性和值才能继续。否则我需要用我不想要的纯 angularjs 编写这个 Controller 。谢谢。

最佳答案

Typescript 更喜欢通过括号符号 [] 显式处理 map 。

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

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

这应该可以解决您面临的紧迫问题。

关于javascript - TypeScript 构建错误 : Property does not exist on type 'IStateParamsService' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34528591/

相关文章:

javascript - Ajax 调用时的 "Waiting for response"消息

android - Cordova 相机- ionic

javascript - 无法访问 anglarjs2+ 中动态创建的数组的对象属性

javascript - html,通过document.write动态插入表单

javascript - 如何获取动态输入框生成的两个文本框的倍数

jquery - 找到显示为 : block 的最后一个可见 div

javascript - 将函数转换为使用 typescript 类型

javascript - Angular 2 - 对从可观察对象发送的对象中的属性值求和

javascript - 表单内的操作

javascript - 如何使用 angularjs 切换子元素类