无法理解angular2中的lambdas表达式?

时间:2016-09-01 08:50:38

标签: angular

Angular 2代码

 heroes => this.heroes = heroes;

请告诉我这条线到底意味着什么?

3 个答案:

答案 0 :(得分:3)

heroes => this.heroes = heroes;

是一个带参数heroes的函数,函数体是

this.heroes = heroes

将参数分配给this.heroes

箭头函数有一个隐式返回,这意味着返回值是正文的结果。

this.heroes = heroes

返回heroes

主要区别在于=>而不是

function(heroes) { this.heroes = heroes; }

确保this.始终指向与

类似的当前类实例
(function(heroes) { this.heroes = heroes; }).bind(this)

答案 1 :(得分:0)

你的方法发送'英雄'然后你把数据放入你的变量this.heroes(两个不同的东西)

答案 2 :(得分:0)

在ES6中,我们称之为箭头函数,它是函数声明的简写版本,同时绑定函数内的this

它在ES5语法中的形式是:

...
var self = this;

function someFunction(heroes) {

  self.heroes = heroes;
}
...

我没有其他代码,所以我只假设了一些部分。

基本上,当我们在函数中使用this时,this仅指向函数内的范围。它会覆盖函数外部范围的this。我们必须创建对外this的引用(例如self),以便函数可以访问它。

在此处阅读更多内容:MDN: Arrow Functions