我有一个js文件,其中有一个具有多个参数的函数。
function initSlider(slider, sliderRow, slides, CLONES_COUNT, doAutoPlay) {
. . .
}我想在不同的页面上使用这个函数,但是参数略有不同,假设其中一个页面是
initSlider(slider, sliderRow, slides, (slides.length < 2) ? 0 : 1, slides.length > 1)问题是,如何在页面本身上调用这个初始化函数?
通常用于laravel,blade.php的页面,在最后有一个包含脚本的部分。
@section('scripts')
<script src="/js/slider.js"></script>
@endsection我试着
@yield('scripts')
@stack('slider-script')
</body>@section('scripts')
other scripts
@endsection
@push('slider-script')
<script src="/js/slider.js"></script>
@endpush
@push('slider-script')
<script>
initSlider(slider, sliderRow, slides, (slides.length < 2) ? 0 : 1, slides.length > 1);
</script>
@endpush但什么都没用,错误
Uncaught : initSlider未定义为
发布于 2021-11-23 13:47:46
您可以在@section('script')和@endsection之间放置所有Javascript代码。
slider.js
function initSlider(slider, sliderRow, slides, CLONES_COUNT, doAutoPlay) {
console.log(slider);
}刀片
@section('script')
<script src="/js/slider.js"></script>
<script>
slides = [1,2];
initSlider(1, 2, slides, (slides.length < 2) ? 0 : 1, slides.length > 1);
</script>
@endsection如果您想使用stack方法:
布局php文件中的
app.blade.php)@堆栈(“脚本”)
当前刀片文件中的
@ initSlider(1,2,幻灯片,(slides.length < 2)?0: 1,slides.length > 1);@endpush
这两种方法都应该有效。
发布于 2021-11-23 14:00:48
如果菲尔的回答行不通的话。有一种可能性:文档中任何地方都没有声明@yield('script')。@yield和@section,@stack和@push。别让他们把你搞糊涂。
https://stackoverflow.com/questions/70081577
复制相似问题