我是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>();
感谢任何帮助或对综合答案的参考。
答案 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冲突。