打字稿 - 带参数的箭头函数

时间:2014-01-17 21:52:02

标签: typescript arrow-functions

我是Typescript的新手,并试图将它介绍给我的一些东西,但是我对一些范围和箭头功能有困难。

在javascript中,我的代码看起来像这样......

var model = params.model;

model.Prototypes.bind('change', function(e){
   // some code to execute when the event occurs
   model.set([some values]); // this performs an operation to the actual top level model
});

好吧,这有两个问题。当我在打字稿中这样做时,我这样做......

class ClassName {
   model: any;

   subscribe() {
      this.model.Prototypes.bind("change", function(e){
         // FIRST PROBLEM
         this.model ....
      });
   }
}

好吧,所以直到标记的部分为止。 this.model不再是我认为的参考,因为它是在函数的上下文中,而不是'类'。所以我做了一些挖掘并学会了我应该使用arrow function,因为这将保留上下文。

问题是,我无法想象如何执行箭头功能并仍然传递我需要的参数,例如绑定事件的change值或function(e)部分。我只看到了期望没有参数的例子。

1 个答案:

答案 0 :(得分:2)

arrow / lambda语法如下所示:

class ClassName {
   model: any;

   subscribe() {
      this.model.Prototypes.bind("change", e => {
         // FIRST PROBLEM
         this.model ....
      });
   }
}

如果您有多个参数,请使用以下格式:

(p1, p2, p3) => { ... }

希望这有帮助,