如何在ES6模块系统中导出getter[重复]

问题描述 投票:0回答:2

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

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

如何实施?

编辑:

因此,当我问这个问题时,我了解到每个变量都导出为

by ref
,因此任何导出的变量都充当 getter 并在每次检查值时都会暴露新值。

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

示例:

export const topbar

javascript module ecmascript-6
2个回答
2
投票

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

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

这意味着,就像你不能为任意变量提供 getter 一样,你也不能为导出提供 getter。

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


-8
投票

ES6 的重复 - 使用 getter 导出模块

就这样做:

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

或者:

export const $topbar = () => $('.topbar');
© www.soinside.com 2019 - 2024. All rights reserved.