【发布时间】:2016-07-11 21:24:25
【问题描述】:
我对 laravel 刀片没什么问题。
在父视图中我有
@section('sidebar')
@include('sidebar.widget')
@include('sidebar.widget2')
@show
在少数视图中,我需要重写侧边栏部分,所以我这样做了
@section('sidebar')
@include('sidebar.widget3')
@stop
但是有一个问题。在我重写父侧边栏的视图中,它仍然加载父侧边栏小部件查询和内部部分,就像我在一个小部件中一样
@section('w-scripts')
<script>
// Js code
</script>
@stop
即使此小部件未在某些页面中加载,它仍会加载 w-scripts 部分和与小部件相关的 sql 查询。
有人知道我该如何解决这个问题吗?我真的需要父侧边栏,所以我不需要在几乎所有视图中复制/粘贴相同的代码,我需要在少数视图中使用不同的侧边栏内容。
【问题讨论】:
-
我也试过@section('sidebar') content @overwrite,结果是一样的。
-
你使用哪个 laravel 版本?我认为在 5.1 及更高版本中,您使用
@endsection而不是@stop。 -
你可以在 Blade laravel.com/docs/5.2/blade#stacks 中尝试堆栈
-
@J.Eggerstedt 5.2 和
@endsection和@stop都有效