TypeScript索引签名对象的格式?

时间:2016-05-12 16:01:06

标签: javascript typescript

所以我使用TypeScript和Angular 1.5以及Angular 1.5类型定义但是我无法弄清楚如何在Angular组件中定义绑定。

定义文件包含以下绑定

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; }'.

所有回复都表示赞赏!

1 个答案:

答案 0 :(得分:1)

  

键入&#39; {one:string;二:字符串; }&#39;不能赋值类型&#39; {[binding:string]:string; }&#39;

可能使用旧版本的TypeScript。在最新的编译器中工作正常。

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

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

You can try it here