我开始使用ES7与Aurelia合作,当我需要有一个参数列表时,我无法弄清楚如何将函数公开。
这有效:
export class dummy{
get doSomething(){
return "something";
}
}
dummy.doSomething()
但如果我将函数修改为有参数列表,我会收到错误:
get doSomething(x){
...
ERR: A 'get' accessor cannot have parameters.
我尝试了各种不起作用的东西,谷歌搜索它什么都没有。如何在接受参数并返回值的导出类中声明公共函数?
感谢。
答案 0 :(得分:1)
get
声明getter。它们像普通属性一样被访问(即不是方法):
var foo = instance.doSomething;
这就是为什么getter不能有参数。
如果您不想这样,但想要一个方法,请将其删除:
export class dummy{
doSomething(x){
return "something";
}
}
如果您只是将该类用作“方法包”,即您不打算创建多个实例,请改用对象:
export var dummy = {
doSomething(x){
return "something";
}
};
答案 1 :(得分:0)
es6中虚拟的一些例子:
dummy.js
export class Dummy{
get myGetter() {
return '456'
}
}
Dummy.doSomething = (x) => {
return "something";
}
然后
import {Dummy} from 'dummy'
console.log(Dummy.doSomething(123)); // => "something"
let myDummy = new Dummy();
console.log(myDummy.myGetter); // => "456"