2016-08-12 78 views

回答

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类型。

请参见以下链接了解详情:

+0

谢谢,是否还有那个<>语法的用法?你有一个全面的<>语法用法的链接吗?我很惊讶,我没有找到任何。 – shrimpdrake

+1

我推荐https://basarat.gitbooks.io/typescript/content/docs/types/type-assertion.html和https://www.typescriptlang.org/docs/handbook/generics.html –

2

他们被称为 “类型断言”,并在TypeScript manual记录。

顺便说一句,最好不要称他们为“casts”。它向编译器“断言”一个值应该被认为是一种特定的类型。如果你把它想象成一种它不可能的类型,它将会不高兴。换言之,声明的类型必须是较窄的。还请注意值后的替代语法as Type,该值更具可读性并避免与React发生冲突。

相关问题