如何在ES6模块系统中导出getter

时间:2017-06-26 09:59:21

标签: javascript module ecmascript-6

是否可以在导入/导出模块系统中导出getter?

export getter $topbar(){ return $('.topbar') }

如何实施?

编辑:

因此,当我问这个问题时,我了解到每个变量都导出为by ref,因此任何导出的变量都会充当getter,并且每次检查值时都会显示新值。

这意味着更改模块中的变量值将更改每个导入模块中的值

2 个答案:

答案 0 :(得分:1)

  

是否可以在导入/导出模块系统中导出getter?

这是不可能的。 ES6模块无法导出getter,因为它们甚至不会导出值。 ES6模块语法公开一个局部变量,以便可以从模块外部访问它,但它甚至都不会查看该值。

这意味着您可以使用相同的方式获取任意变量的getter,您也无法获得导出的getter。

唯一的选择是导出库用户需要调用的函数。

答案 1 :(得分:0)

重复ES6 - Exporting module with a getter

就这样做:

export function $topbar() { return $('.topbar') }

或者:

const $topbar = () => $('.topbar');
export $topbar;