<> Typescript Angular2中的语法

时间:2016-08-12 11:57:47

标签: angular typescript

我是Angular2的新手,我不明白<>语法:

示例1(来自https://angular.io/docs/ts/latest/guide/dependency-injection.html):

let mockService = <HeroService> {getHeroes: () => expectedHeroes }

示例2(来自https://angular.io/docs/ts/latest/guide/template-syntax.html

deleteRequest = new EventEmitter<Hero>();

感谢任何帮助或对综合答案的参考。

2 个答案:

答案 0 :(得分:2)

<HeroService> {getHeroes: () => expectedHeroes }对应于HeroService类的强制转换/类型断言。返回的对象将遵循此类的结构。

new EventEmitter<Hero>();是一种参数化EventEmitter类(泛型)的方法,可以告诉它处理Hero类型的元素。对于EventEmitter类(请参阅https://github.com/angular/angular/blob/master/modules/%40angular/facade/src/async.ts#L80),它可确保用作emit方法参数的对象必须为Hero类型。

有关详细信息,请参阅以下链接:

答案 1 :(得分:2)

他们被称为&#34;键入断言&#34;并记录在TypeScript manual

顺便说一下,最好不要打电话给他们&#34;演员&#34;。这是&#34;断言&#34;编译器应该将值视为特定类型。如果你告诉它将某种东西想象成一种它可能的类型,它仍然会不高兴。换句话说,断言类型必须更窄。另请注意值后面的替代语法as Type,它更易读并避免与React冲突。

相关问题