2016-04-20 14 views
2

私はいくつかのjavascriptコードを含むlaravelブレードテンプレートを子ビューに使用しようとしています。私はいくつかのjqueryの関数を使用したい私のサブビューファイルsettings.blade.php

<script src="/js/jquery.min.js"></script> 

私はjqueryの初期設定の文字列を置いている私のメールapp.blade.phpファイルを、持っています:

@extends('layouts.app') 
@section ('content') 
Settings main page 
@endsection 

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert("Settings page was loaded"); 
    }); 
</script> 

しかし、ブラウザのコンソールで、私は、エラーメッセージキャッチされないにReferenceError取得:$はを定義されていないjqueryのWAのように思えますサブビューファイルでこの関数を呼び出すと、がロードされます。

行を追加する:<script src="/js/jquery.min.js"></script>settings.blade.phpに解決します。しかし、私は自分のスクリプトファイルをそれぞれのサブビューファイルに追加したくない。

そこで問題:どのように私はロードサブビューのファイルの前に親ブレードファイルでjqueryのファイル\メインジャバスクリプトを読み込むことができますか?

+0

jsファイルのパスを修正し、paファイルの上に置いてくださいサブビューをロードする前にレンタルページ。 –

+0

jsファイルのパスが正しいです。私は私のデバッガでエラーを取得しません。ファイルがapp.blade.phpで使用されている場合は、エラーなしで正しくロードされます –

答えて

6

jqueryのスクリプトファイルのためにこのよう

に従ってください。この

<script src="{!!url('/js/jquery.min.js')!!}"></script> 

を行い、コンテンツのセクション

を更新しました

@extends('layouts.app') 
@section ('content') 
Settings main page 

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert("Settings page was loaded"); 
    }); 
</script> 

@endsection 

のためにこれを行います


むしろコンテンツセクション内のスクリプトにapp.blade.phpでのスクリプトのための別のセクションを作成するには、それだろうはるかに良いとプロの道

通常、私はこのよう

<html> 
    <head> 
    @yield('page-style-files') 
    </head> 

    <body> 
    <div class="wrapper"> 
    @yield('content') 
    </div> 
    </body> 

    @yield('page-js-files') 
    @yield('page-js-script') 

<html> 

に従ってくださいたとえば、あなたのコードは次のようになります

@extends('layouts.app') 
@section ('content') 
    Settings main page  
@endsection 

@section('page-style-files') 
<link href="....css" /> 
@stop 


@section('page-js-files') 
<script src=".....js"></script> 
@stop 

@section('page-js-script') 
<script type="text/javascript"> 
    $(document).ready(function() { 
     alert("Settings page was loaded"); 
    }); 
</script> 
@stop 
+0

ありがとうございました。 @sectionブロックに