我关注此tutorial,其live example并定义了此功能:
onSelect(hero: Hero): void {
this.selectedHero = hero;
}
其中: void
是我不理解的部分。这个部分是如何被调用的,它是做什么的?
我的想法:这是函数的返回类型,但如果是这种情况,则不应该
onSelect(hero: Hero): void {
this.selectedHero = hero;
return hero;
}
抛出错误?该应用程序在Plunker中工作正常,控制台中没有显示错误(我不知道这是否与Plunker有关)。
该函数的调用如下:
<li *ngFor="let hero of heroes"
[class.selected]="hero === selectedHero"
(click)="onSelect(hero)">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
答案 0 :(得分:4)
你的想法是正确的。它只是一种返回类型,就像C#等其他编程语言中的函数一样。当你返回Hero类型的对象时,它应该给出一个像Type 'Hero' is not assignable to type 'void'
这样的错误,如下图所示:
答案 1 :(得分:2)
这意味着你的函数不会返回任何内容,你不能像这样调用
let result = this.onSelect(someHero); // Here compiler will give you an error that the function can't be in the right side of the statement
查看示例here。可能是Plunker的错误,因为在他们的网站上你可以看到错误。
答案 2 :(得分:1)
函数未返回任何内容[void]
onSelect(hero: Hero): void {
this.selectedHero = hero;
}
调用此方法时,只需将传递给方法的英雄初始化类级别selectedHero
。如果您看到typescript类,您将在组件中找到selectedHero:Hero
变量。