我有一個 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
但沒有任何效果,錯誤
未捕獲的 ReferenceError:initSlider 未定義
uj5u.com熱心網友回復:
如果菲爾的回答不起作用。有一種可能性:您沒有@yield('script')在檔案中的任何地方宣告。@yield與云@section并@stack與云@push。不要讓他們迷惑你。
uj5u.com熱心網友回復:
您可以將所有 Javascript 代碼放在@section('script')和之間@endsection。
滑塊.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)@stack('scripts') </body> </html>在您當前的刀片檔案中:
@push('scripts') <script src="/js/slider.js"></script> @endpush @push('scripts') <script> slides = [1,2]; initSlider(1, 2, slides, (slides.length < 2) ? 0 : 1, slides.length > 1); </script> @endpush
無論哪種方式都應該有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/364635.html
標籤:javascript 查询 拉拉维尔
