Laravel:使用一些刃布局的意见,但没有人
问题描述:
在Laravel的环境时,只包括一些JS,我有一个js.blade.php
(要包含在我所有的布局视图),持有全球javascript文件和一些@yield
占位符,这样Laravel:使用一些刃布局的意见,但没有人
<!-- BEGIN CORE PLUGINS -->
<script src="//code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//cdn.jsdelivr.net/ie10-viewport/1.0.0/ie10-viewport.min.js"></script>
<!-- END CORE PLUGINS -->
<!-- BEGIN PAGE LEVEL PLUGINS -->
@yield('js-plugins')
<!-- END PAGE LEVEL PLUGINS -->
<!-- BEGIN SOME OTHER GENERAL PLUGINS -->
<script src="//cdn.jsdelivr.net/dummy1.min.js"></script>
<script src="//cdn.jsdelivr.net/dummy2.min.js"></script>
<!-- END SOME OTHER GENERAL PLUGINS -->
<!-- BEGIN PAGE LEVEL SCRIPTS -->
@yield('js-scripts')
<!-- END PAGE LEVEL SCRIPTS -->
<!-- BEGIN SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS -->
...
<!-- END SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS -->
<!-- BEGIN MY CUSTOM SCRIPTS -->
<script src="{{ asset('backend/scripts.js') }}"></script>
<!-- END MY CUSTOM SCRIPTS -->
您是否看到<!-- BEGIN SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS -->
的一部分?在这里,我应该有脚本在master.blade.php
布局视图(用于用户登录时用于大多数页面),但不在,即unlogged.blade.php
布局视图(用于登录,或检索丢失的密码或涉及未记录的所有其他内容用户):我的意思是说,即脚本属于边栏导航(当然是在'内部'页面,但不是在'外部'的)
那么,我怎么能告诉Laravel“当使用master.blade.php
查看放一些脚本在那...
部分,否则保持原样“?我们的目标是利用只js.blade.php
为了让事情干
我参加了一个在乐和@push
@stacks
,但他们并不清楚,我,我不知道我是否可以使用它们以某种方式
谢谢
答
使用if
声明和@include
,而不是@yield
在这种情况下:
js.blade.php
:
<!-- BEGIN SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS -->
@if(!isset($limit) || (isset($limit) && !$limit))
<script src="{{asset('js/home.js')}}"></script>
@endif
<!-- END SCRIPTS TO BE RENDERED ONLY IN SOME LAYOUT VIEWS -->
master.blade.php
@include('js')
unlogged.blade.php
(你不想在这里呈现一些脚本)
@include('js',['limit'=>true])
完整的示例:https://github.com/jaredchu/laravel-dynamic-view-example/tree/master/resources/views
为什么不尝试在
在这种情况下,我将使用'ViewComposer'和'if'语句。 –
@JaredChu,请你详细说明一下吗? – Ivan