有没有办法告诉视图在视图中包含多少次视图?
e.g:
@if(thisViewWasIncluded())
<div ... />
@else
<div class="..." ... />
@endif
答案 0 :(得分:0)
不,通过像这样的简单函数调用,这是不可能的。但是,如果您有条件地包含视图(例如通过includeWhen()
函数),则只需检查条件的值。
示例:
@includeWhen($boolean, 'view.name', ['some' => 'data'])
@if($boolean)
//View included
@else
//View not included
@endif
答案 1 :(得分:0)
所以这就是我实际设法做到这一点的方式:
我创建了一个View Composer,它将View名称附加到ViewBag类,如下所示:
view()->composer('*', function ($view) {
ViewBag::attach($view->getName());
});
然后我创建了一个viewBag()
辅助函数,它返回包含所有附加信息的ViewBag实例。现在它可以像这样使用:
<h1>
Auth.Login was included:
{{ viewBag()->count('auth.login') }} times
</h1>
现在我也可以这样做:
@if(viewBag()->contains('auth.login'))
hello
@endif