javascript - TypeScript 索引签名对象的格式?

标签 javascript typescript

因此,我将 TypeScript 与 Angular 1.5 和 Angular 1.5 类型定义结合使用,但我不知道如何在 Angular 组件中定义绑定(bind)。

定义文件包含以下绑定(bind)内容

interface IComponentOptions {
  ...
  bindings?: {[binding: string]: string};
  ...
}

但是我如何编写实际的 Javascript 对象呢?

.component('myComponent', {
  templateUrl: 'template.html',
  controller: MyController,
  controllerAs: 'vm',
  bindings: {
    one: '<',
    two: '<'
  }
});

上面给了我

Type '{ one: string; two: string; }' is not assignable to type '{ [binding: string]: string; }'.

感谢所有回复!

最佳答案

Type '{ one: string; two: string; }' is not assignable to type '{ [binding: string]: string; }'

可能使用旧版本的 TypeScript。在最新的编译器中运行良好。

interface IComponentOptions {
    bindings?: { [binding: string]: string };
}

var componentOptions: IComponentOptions = {
    bindings: {
        one: '<',
        two: '<'
    }
};

You can try it here

关于javascript - TypeScript 索引签名对象的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37192071/

相关文章:

javascript - 为什么 JavaScript 中的验证不能正常工作?

javascript - 在react js中独立更改<td>的颜色

javascript - LinkingIOS rctwebsocketmodule.connect 被调用时使用了 4 个参数,但需要 2 个参数

javascript - 如何实现我想通过子组件动态渲染表单控件的 Angular 形式的功能?

使用 Javascript 而不是 jquery 从 json 创建 dom 元素

javascript - ionic 2 : Runtime Error Uncaught (in promise): TypeError: Cannot read property 'nav' of undefined

javascript - Nest.JS 和 Observables

typescript - 如何区分受歧视的联合类型

typescript - 为什么 Typescript 的 "Omit"实用程序扩展了 any 为 "K"?

javascript - jQuery When Done 动态拉取函数调用