簡體   English   中英

Laravel Blade @yield不顯示@section

[英]Laravel Blade @yield is not displaying the @section

我的文字顯示在兩個位置(一個用於桌面,一個用於移動)。 因此,我不必每次都將文本放置在兩個位置中,而是想到可以使用@yield制作一個節並在每個位置中顯示文本。 我沒有任何錯誤,但是內容沒有像我期望的那樣寫到dom上。

這是刀片模板:

<nav class="blue">
    <div class="nav-wrapper">
        <div class="container">
            <ul class="side-nav" id="mobile-side-nav">
                @yield('navbar-dropdown')
            </ul>
        </div>
    </div>
</nav>
<ul id="nav-dropdown" class="dropdown-content">
    @yield('navbar-dropdown')
</ul>

{{-- List of items to place in the ul's --}}
@section('navbar-dropdown')
    <li><a class="blue-text waves-effect" href="#!">Create Project</a></li>
    <li><a class="blue-text waves-effect" href="#!">Manage Projects</a></li>
    <li class="divider"></li>
    <li><a class="blue-text waves-effect" href="#!">Settings</a></li>
    <li><a class="blue-text waves-effect" href="{{ url('auth/logout') }}">Logout</a></li>
    <li class="divider"></li>
    <li><a class="blue-text waves-effect" href="#!">Help</a></li>
    <li><a class="blue-text waves-effect" href="#!">Report a Problem</a></li>
@endsection

我是誤解了它的工作原理,還是我做錯了?

@yield僅在擴展布局時有效。

您最好將narbar-dropdown部分的內容放在另一個文件中,然后使用include。

例如,在resources/views/partials/navbar-dropdown.blade.php創建一個文件,並添加:

<li><a class="blue-text waves-effect" href="#!">Create Project</a></li>
<li><a class="blue-text waves-effect" href="#!">Manage Projects</a></li>
<li class="divider"></li>
<li><a class="blue-text waves-effect" href="#!">Settings</a></li>
<li><a class="blue-text waves-effect" href="{{ url('auth/logout') }}">Logout</a></li>
<li class="divider"></li>
<li><a class="blue-text waves-effect" href="#!">Help</a></li>
<li><a class="blue-text waves-effect" href="#!">Report a Problem</a></li>

然后在布局文件中進行更改:

@yield('navbar-dropdown')

@include('partials/navbar-dropdown')

希望這可以幫助!

我認為您沒有擴展布局。 使用@yield@section ,需要在要擴展的布局中定義@yield

這是您的模板文件(稱為Laravel/resources/views/layouts/app.blade.php ):

<html>
<nav class="blue">
    <div class="nav-wrapper">
        <div class="container">
            <ul class="side-nav" id="mobile-side-nav">
                @yield('navbar-dropdown')
            </ul>
        </div>
    </div>
</nav>
<ul id="nav-dropdown" class="dropdown-content">
    @yield('navbar-dropdown')
</ul>
</html>

這是您將擴展模板的文件:

@extends('layouts.app')

@section('navbar-dropdown')
    <li><a class="blue-text waves-effect" href="#!">Create Project</a></li>
    <li><a class="blue-text waves-effect" href="#!">Manage Projects</a></li>
    <li class="divider"></li>
    <li><a class="blue-text waves-effect" href="#!">Settings</a></li>
    <li><a class="blue-text waves-effect" href="{{ url('auth/logout') }}">Logout</a></li>
    <li class="divider"></li>
    <li><a class="blue-text waves-effect" href="#!">Help</a></li>
    <li><a class="blue-text waves-effect" href="#!">Report a Problem</a></li>
@endsection

希望這有效!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM