我正在尝试使用“模块”类型从外部.js文件中导入js函数,但始终收到错误消息“ ReferenceError:未定义polygonClick”。
这是我的代码:
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script src="js/map.js" type="module"></script>
</head>
<body>
...
<script>
function initMap() {
...
$.getJSON( "./DI.json", function( coords ) {
var building = new google.maps.Polygon({...});
building.setMap(map);
building.addListener('click', (event) => polygonClick(event));
});
...
}
</script>
</body>
</html>
JS:
import {MDCDrawer} from './@material/drawer';
export default { polygonClick };
const drawer = MDCDrawer.attachTo(document.querySelector('.mdc-drawer'));
function polygonClick(event) {
console.log(event);
}
有人可以告诉我我在做什么错吗?
提前谢谢!
答案 0 :(得分:0)
这是因为模块内的js代码不是全局的,所以函数initMap()并不是全局的。 Simpy,通过以下方式使其具有全局性:
window.polygonClick = function(event){
//you function code
}
窗口。将使变量或函数在上下文中变为全局。