首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular2英雄之旅-onSelect(英雄:英雄)中的冒号是什么意思?

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

Stack Overflow用户
提问于 2017-02-27 13:06:00
回答 6查看 2.6K关注 0票数 8

我正在做Angular2的英雄项目https://angular.io/docs/ts/latest/tutorial/toh-pt2.html之旅。

代码语言:javascript
复制
<li *ngFor="let hero of heroes" (click)="onSelect(hero)">{{hero.name}}</li> 

在这里,我可以使用以下函数通知当前的英雄名和id

代码语言:javascript
复制
onSelect(hero) {
        alert(hero.id);
   }

但是为什么在官方教程中

代码语言:javascript
复制
onSelect(hero: Hero){

    }

为什么是英雄:英雄

还有,onSelect(hero: Hero): void { }的含义是什么。

什么意思?

代码语言:javascript
复制
selectedHero: Heroes;
      onSelect(hero: Heroes): void {
      this.selectedHero = hero;
    }

请帮帮忙。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-02-27 13:08:16

当你键入“英雄”时,它会假设它有“任意”类型。当您说英雄:英雄时,您将变量的类型分隔为“Hero”,这意味着函数将只接受Hero类型的参数或它的抽象。

编辑:对于空部分,这是函数的返回类型。虚空意味着它什么也回不来。

EDIT2:

代码语言:javascript
复制
selectedHero: Hero

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

所以'selectedHero:英雄‘部分你定义了一个形形色色的’英雄‘'selectedHero’。

您定义您的函数“OnSelect”,它接受“英雄”类型的参数“英雄”。“英雄”将是用于访问函数'OnSelect‘中的参数的名称。

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

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

所以当你点击一个英雄时,OnSelect函数就会被触发,你会传递你刚才点击的英雄(英雄:‘英雄’)。然后,将当前对象( this.selectedHero )的英雄设置为刚才单击的英雄(英雄:英雄)。

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

PS:我对' this‘关键字的解释是尽可能抽象的,我知道它比我解释的要多得多,但这是为了询问的人,因为他是刚开始发展的。

票数 8
EN

Stack Overflow用户

发布于 2017-02-27 13:09:15

语法是:

代码语言:javascript
复制
methodName(variable: Class): returnType {
    // your code here
}

编辑:查看类型记录文档这里

票数 5
EN

Stack Overflow用户

发布于 2017-02-27 13:06:56

在打字稿中,它表示英雄的类型,它的类型是对象“英雄”。

当英雄是一个阶级,

代码语言:javascript
复制
export class Hero {
    id: number;
    name: string;
}


onSelect(hero: Hero){}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42486561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档