2016-09-15 28 views
0

我有一個主模板。所有其他刀片文件都擴展了主刀片。除了主頁(welcome.blade.php)之外,我還希望在每個刀片文件中包含js文件。我可以將js文件包含在主文件中,但主頁也會繼承那些我不想要的文件。我可以做的另一件事是將js文件手動添加到所有其他刀片文件中,這些文件已經很累了,因爲我必須爲每個文件都執行該文件。 可以做的另一件事是通過JavaScript獲取URL,如果它是主頁的URL,它不會添加js文件,否則它會添加js文件。任何方式在每個刀片模板中包含一個js文件,除了一個?

除了welcome.blade.php之外,是否有任何簡單的方法在每個刀片文件中包含該js文件?

回答

2

我可以包括主,但主頁上的js文件將繼承我不想

沒有太多,除非你告訴它不要。概念證明:

master.blade.php

<head> 
    ... 
    @section(head.js) 
    <script type="text/javascript" src="{{ asset('js/file1.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file2.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file3.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/no-home.js') }}"></script> 
    @show 
</head> 

welcome.blade.php(不繼承無home.js)

@section(head.js) 
    <script type="text/javascript" src="{{ asset('js/file1.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file2.js') }}"></script> 
    <script type="text/javascript" src="{{ asset('js/file3.js') }}"></script> 
@stop 

另一人template.blade.php(繼承一切,並添加另一個)

@section(head.js) 
    @parent 
    <script type="text/javascript" src="{{ asset('js/file4.js') }}"></script> 
@stop 
+0

謝謝。我忘了@parent。 –

2

如果您正在尋找不下去了JS的方式,你可以在母校模板做到這一點:

<script src="@yield('script_file', 'path/to/script.js')"></script>

,並在您welcome.blade.php或任何文件要排除的腳本文件做:

@section('script_file', '')

這將主要設置src的腳本清空;沒有腳本

+0

謝謝你的回答。 –

相關問題