我在laravel framework上访问javascript中的函数时遇到了一个问题。我有一个名为pile.js的文件,在该文件中有一个函数,如下所示:
function initPile(json) {
...
}它是使用laravel-mix“编译”的,放在我的public/js文件夹中,并包含在下面的代码中:
<script src="{{ asset('/js/pile.js') }}" type="text/javascript" defer></script>但当我尝试使用文件中的函数时,如下所示:
<script type="text/javascript" defer>
initPile('@json($data)');
</script>我收到错误: ReferenceError: initPile未定义
我尝试google这个错误,所有的结果都显示im将它分配给一个全局变量,使用
window.initPile = function(json) { ... }然后像这样叫它
window.initPile('@json($data)');但这只会导致同样的错误……
发布于 2019-01-18 15:01:19
我找到了解决方案,解决方案是将它分配给window,但因为我在两个脚本标记中都有延迟,所以函数在声明之前被调用。
https://stackoverflow.com/questions/54248743
复制相似问题