如何在子页面中使用 js 和 css laravel 5.



我正在制作一个使用 Laravel 5.5 和刀片模板引擎作为视图的网站。

它适用于桌面和移动设备的大多数浏览器。但是当我在旧的Android手机上进行测试时,我遇到了错误。我已经在谷歌上检查了任何地方,但找不到任何答案。

扩展此布局的边栏选项卡视图似乎无法从模板布局中读取函数。它显示了错误"函数未定义",甚至对于我在布局模板上声明的变量,在扩展此布局的视图上都无法读取,甚至是 js 文件。

layout.blade.php:

<script src="{{ asset('js/main.js') }}"></script>
<script type="text/javascript">
var main_url = "https://test.com";
function checkout(){
alert(0);
}
</script>
@yield('scripts')

page.blade.php:

@extends('layout')
@section('scripts')
<script type="text/javascript">
function buttonClick(){
checkout();
}
</script>
@endsection

主.js:

alert(main_url);

所以,这里只有一个问题,如果我们从旧的Android移动浏览器打开它,似乎我在布局上声明的脚本没有渲染或其他东西。

我在page.blade.php内部buttonClick上调用的结帐函数显示错误未定义,并且我在main.js文件上调用的alert(main_url)也未定义。

对我的问题有什么建议吗?

>@yield用于加载内容,因此您应该使用stackpush来加载JScss

layout.blade.php:

<script type="text/javascript">
var main_url = "https://test.com";
function checkout(){
alert(0);
}
</script>
@stack('scripts')

Page.blade.php:

@push('scripts')
<script type="text/javascript">
function buttonClick(){
checkout();
}
</script>
@endpush

查看更多信息推送堆栈

愿这可以帮助您:

页.刀片.php

@extends('layout')
@section('scripts')
@push
<script type="text/javascript">
function buttonClick(){
checkout();
}
</script>
@endsection

这就是javascript(以及其他(的工作方式。浏览器从上到读取代码。

既然你把<script src="{{ asset('js/main.js') }}"></script>放在var main_url = "https://test.com";之前,当然js/main.js中的main_url是不确定的。

您只需要了解订单即可。

<script type="text/javascript">
var main_url = "https://test.com";
function checkout(){
alert(0);
}
</script>
<script src="{{ asset('js/main.js') }}"></script>

关于buttonClick显示未定义,我们不知道,因为您不会在调用它的地方发布代码。

最新更新