Laravel-混合,Javascript 和范围
Laravel-mix, Javascript and scope
我在 laravel 框架上访问 javascript 中的函数时遇到问题。我有一个名为 pile.js 的文件,在该文件中我有一个如下所示的函数:
function initPile(json) {
...
}
它是 "compiled" 使用 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 is not defined
我试过 google 这个错误,所有结果都说我要使用
将它分配给全局变量
window.initPile = function(json) { ... }
然后这样称呼它
window.initPile('@json($data)');
但这只会导致相同的错误.....
我找到了解决方案,解决方案是将它分配给 window 但是因为我在我的两个脚本标记中都推迟了函数在声明之前被调用。
我在 laravel 框架上访问 javascript 中的函数时遇到问题。我有一个名为 pile.js 的文件,在该文件中我有一个如下所示的函数:
function initPile(json) {
...
}
它是 "compiled" 使用 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 is not defined
我试过 google 这个错误,所有结果都说我要使用
将它分配给全局变量window.initPile = function(json) { ... }
然后这样称呼它
window.initPile('@json($data)');
但这只会导致相同的错误.....
我找到了解决方案,解决方案是将它分配给 window 但是因为我在我的两个脚本标记中都推迟了函数在声明之前被调用。