我有一个模板admin.blade.php
,其中包含以下代码:
@yield('breadcrumbs', Breadcrumbs::render(Request::route()->getName()))
在子文件中,我要么忽略面包屑,要么想做类似的事情:
@section('breadcrumbs')
{{ Breadcrumbs::render(Request::route()->getName(), $event) }}
@endsection
问题在于,似乎仍在触发默认的yield内容,并且在调用该函数时出现错误。
函数的参数太少 DaveJamesMiller \ Breadcrumbs \ BreadcrumbsServiceProvider :: {closure}(),1 通过 C:\ xampp \ htdocs \ msu \ vendor \ davejamesmiller \ laravel-breadcrumbs \ src \ BreadcrumbsGenerator.php 在第68行,正好为2(查看: C:\ xampp \ htdocs \ msu \ resources \ views \ event \ station \ edit.blade.php)
我了解什么,所以我的问题是如何实现我在刀片中要做的工作?
我还尝试了@section @show和section @stop,但这似乎只是隐藏了这些部分,并给了我同样的错误。
非常感谢您的帮助。
答案 0 :(得分:1)
您可以创建一个组件来处理如果需要的情况:
<!-- resources/views/breadcrumb.blade.php -->
@if (isset($slot) && !is_null($slot))
@section ('breadcrumbs')
{{ Breadcrumbs::render(Request::route()->getName(), $slot) }}
@endsection
@endif
然后在子视图中,可以调用组件:
<!-- resources/views/child.blade.php -->
@component('breadcrumb', ['slot' => $event]) @endcomponent
您可以将组件中的变量名称更新为所需的名称。
有关组件的更多信息:https://laravel.com/docs/5.6/blade#components-and-slots