Angular2英雄之旅 – onSelect(英雄:英雄)中的冒号是什么意思?

我正在做Angular2英雄项目 https://angular.io/docs/ts/latest/tutorial/toh-pt2.html之旅
.
<li *ngFor="let hero of heroes" (click)="onSelect(hero)">{{hero.name}}</li>

在这里,我可以使用以下功能提醒当前的英雄姓名和身份

onSelect(hero) {
        alert(hero.id);
   }

但是为什么在官方教程中使用它

onSelect(hero: Hero){

    }

为什么英雄:英雄?

还有什么意思onSelect(hero:Hero):void {}.

的意义是什么

selectedHero: Heroes;
      onSelect(hero: Heroes): void {
      this.selectedHero = hero;
    }

请帮忙 .

当您输入“英雄”时,它将假定它具有“任何”类型.当你说英雄:Hero时,你将变量的类型划分为’Hero’,这意味着该函数只接受Hero类型的参数或它的抽象.

编辑:对于void部分,这是函数的返回类型.虚空意味着它什么都不会返回.

EDIT2:

selectedHero: Hero

OnSelect(hero: Hero): void{
    this.selectedHero = hero;
}

所以’selectedHero:Hero’部分你定义了’Hero’类型的变量’selectedHero’.

你定义你的函数’OnSelect’,它接受’Hero’类型的参数’hero’. ‘hero’将是您在“OnSelect”函数中用于访问参数的名称.

函数返回void,这意味着它不返回任何内容,只是执行函数中声明的内容.

部分this.selectedHero =英雄;比较棘手.在组件的上方,您定义了一个名为“hero”的Hero变量.它超出了函数的范围. ‘this’指的是您所在的组件类,它是用于访问它的关键字.因此,要访问函数之外但仍在对象中的变量,请使用关键字“this”.

好吧,当你点击英雄时,OnSelect功能会被触发,你传递你刚刚点击的英雄(英雄:’英雄’).然后你做的是设置当前对象的英雄(this.selectedHero)等于你刚刚点击的英雄(英雄:英雄).

每次单击一个英雄时,它都会将selectedHero替换为您单击的一个.

PS:我对’this’关键字的解释是抽象的,可以理解,我知道还有更多,然后我解释,但这是为了这个人的问题,因为他是新的发展.

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...