我有多个部分刀片文件,只需要一点点JavaScript。理想情况下,我喜欢部分加载它需要的JS,普通的JS不会包含它。我知道你可以把它全部加载到一个大的JS文件中,但我想知道是否有办法让你有一个更优雅的解决方案。
我希望下面的解决方案能够用于多个文件(它适用于一个文件,但不适用于n。由于刀片的渲染引擎,会使用第一个部分刀片遭遇)。
test.page.blade.php
@extends('layouts.default')
@section('title', 'Poses')
@section('content')
<div class="container">
<div class="row">
@include('test.partial.one')
@include('test.partial.two')
</div>
</div>
@stop
@section('javascript')
@include('test.partial.one')
@include('test.partial.two')
@stop
partial test.partial.one.blade.php
@section('content')
<h1>One</h1>
@stop
@section('javascript')
<script>Scripts from one</script>
@stop
partial test.partial.two.blade.php
@section('content')
<h1>Two</h1>
@stop
@section('javascript')
<script>Scripts from two</script>
@stop
答案 0 :(得分:8)
问题的解决方案是@parent
指令,您必须在javascript
部分使用该指令。
test.page.blade.php
@extends('layouts.default')
@section('title', 'Poses')
@section('content')
<div class="container">
<div class="row">
@include('test.partial.one')
@include('test.partial.two')
</div>
</div>
@stop
@yield('javascript')
test.partial.one.blade.php
@section('content')
<h1>One</h1>
@stop
@section('javascript')
<script>Scripts from one</script>
@parent
@stop
test.partial.two.blade.php
@section('content')
<h1>Two</h1>
@stop
@section('javascript')
<script>Scripts from two</script>
@parent
@stop