测试@yield 值
Testing a @yield value
我想将 class 添加到我的主模板中的组件之一,但仅限于特定页面。
有没有办法测试@yield 的值?
到目前为止,我对此进行了测试,但它没有用(ie 只要设置了页面名称,就会添加 class,无论其内容如何):
<div class="
@hasSection('pagename') && @yield('pagename') == 'home'
myclass
@endif
">
您可以尝试组合使用 @if
指令和 request()
辅助程序。大致如下:
@if(request()->routeIs('some-named-route')) {{ echo 'my-class' }} @endif
Extending blade 将提供可重复使用的指令:
// AppServiceProvider.php
public function boot()
{
Blade::if('custom', function ($route) {
return request()->routeIs(route);
});
}
// view.blade.php
@custom('some-route')
'my-class'
@endcustom
我想将 class 添加到我的主模板中的组件之一,但仅限于特定页面。
有没有办法测试@yield 的值?
到目前为止,我对此进行了测试,但它没有用(ie 只要设置了页面名称,就会添加 class,无论其内容如何):
<div class="
@hasSection('pagename') && @yield('pagename') == 'home'
myclass
@endif
">
您可以尝试组合使用 @if
指令和 request()
辅助程序。大致如下:
@if(request()->routeIs('some-named-route')) {{ echo 'my-class' }} @endif
Extending blade 将提供可重复使用的指令:
// AppServiceProvider.php
public function boot()
{
Blade::if('custom', function ($route) {
return request()->routeIs(route);
});
}
// view.blade.php
@custom('some-route')
'my-class'
@endcustom