用于导出类函数的 es6 访问器

use*_*058 5 getter-setter ecmascript-6 aurelia

我开始使用 ES7 中的 Aurelia,但我不知道当函数需要参数列表时如何将其公开。

这有效:

export class dummy{
  get doSomething(){
    return "something";
  }
}

dummy.doSomething()
Run Code Online (Sandbox Code Playgroud)

但是如果我修改函数以具有参数列表,则会收到错误:

get doSomething(x){
    ...
ERR: A 'get' accessor cannot have parameters.
Run Code Online (Sandbox Code Playgroud)

我尝试了各种不起作用的方法,谷歌搜索也没有找到任何结果。如何在导出类中声明接受参数并返回值的公共函数?

谢谢。

Fel*_*ing 3

get声明一个getter。它们像普通属性一样被访问(即不是方法):

var foo = instance.doSomething;
Run Code Online (Sandbox Code Playgroud)

这就是 getter 不能有参数的原因。

如果您不想要这样,但想要一个方法,请将其删除:

export class dummy{
  doSomething(x){
    return "something";
  }
}
Run Code Online (Sandbox Code Playgroud)

如果您只是将该类用作“方法包”,即您不打算创建它的多个实例,请改用一个对象:

export var dummy = {
  doSomething(x){
    return "something";
  }
};
Run Code Online (Sandbox Code Playgroud)