更新了我的Typescript定义,打破了angular指令

时间:2017-02-16 16:31:27

标签: angularjs typescript angular-directive

我刚刚将我的Typescript定义更新为今天的最新版本。在jssecacerts中,现在是cacerts界面中angular.d.ts的定义:

scope

我的指令是这样定义的(用字母代替实际名称和省略不相关的代码):

IDirective

我收到了这个编译时错误:

  

错误类' MyDirective'错误地实现了界面' IDirective'。     财产类型'范围'是不相容的。

     

输入' {a:string; b:字符串; c:字符串; d:字符串; e:字符串; }'不能赋值为' boolean | {[boundProperty:string]:string; }'

     

输入' {a:string; b:字符串; c:字符串; d:字符串; e:字符串; }'不能赋值为' {[boundProperty:string]:string; }'

     

类型' {a:string; b:字符串; c:字符串; d:字符串; e:字符串; }'

我不明白为什么我会这样做。每个属性都是一个字符串,这是interface IDirective { ... scope?: boolean | {[boundProperty: string]: string}; ... } 部分想要的,不是吗?

如何更改范围定义以适应更新的定义?

1 个答案:

答案 0 :(得分:1)

我尝试了你的代码并且转换得很好。我会关闭并重启你正在使用的任何IDE,看看这个错误是否消失;当TypeScript错误没有意义时,这似乎对我作为Visual Studio用户非常频繁。

如果这不起作用,请确保将您的TypeScript编译器版本更新为最新版本。

我知道这不是最新的,但这是我正在使用的打字:注册表:dt / angular#1.5.0 + 20161101124950 我的TypeScript版本:2.1.5.0