我正在测试 ES6 模块并想让用户使用 onclick
访问一些导入的函数:
测试.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Module Test</title>
</head>
<body>
<input type="button" value="click me" onclick="hello();"/>
<script type="module">import {hello} from "./test.js";</script>
</body>
</html>
测试.js:
export function hello() {console.log("hello");}
当我单击该按钮时,开发人员控制台显示: ReferenceError: hello is not defined 。我如何从模块中导入函数,以便它们可以作为 onclick 函数使用?
我正在使用 Firefox 54.0,并将 dom.moduleScripts.enabled
设置为 true
。
原文由 Konrad Höffner 发布,翻译遵循 CC BY-SA 4.0 许可协议
模块创建一个范围以避免名称冲突。
将您的函数暴露给
window
对象或者使用
addEventListener
绑定处理程序。 演示