【问题标题】:Blade nested section produces misformatted DOM刀片嵌套部分产生格式错误的 DOM
【发布时间】:2018-06-15 23:45:09
【问题描述】:

这是我的home.blade.php文件的内容:

@extends('layouts.master')
@section('content')
  @extends('partials.sidebar')
    @section('pagecontent')
      This is home
    @endsection
@endsection

layouts/master.blade.php 包含具有典型<html><head><body>结构的主要布局。在它的<body> 中,我将屈服于一个名为content 的部分:

<!DOCTYPE html> 
<html>
<body>
  <div id="app">
    @yield('content')
  </div>
</body>
</html>

在我的parials/sidebar.blade.php 中,我将让位于一个名为pagecontent 的部分:

<div id="page-content-wrapper">
        <div class="container-fluid">
            @yield('pagecontent')
        </div>
</div>

所以我自然会期待这样的 DOM:

<!DOCTYPE html> 
<html>
<body>
  <div id="app"> <!-- @section('content') -->
    <div id="page-content-wrapper">
        <div class="container-fluid">
            This is home <!-- @section('pagecontent') -->
        </div>
   </div>
  </div>
</body>
</html>

不幸的是,这不是我的刀片视图正在呈现的 DOM。我的侧边栏部分不会被注入到主布局中,而是作为 Entire Document:

的同级附加到 DOM
<div id="page-content-wrapper">
   <div class="container-fluid">
       This is home <!-- @section('pagecontent') -->
   </div>
</div>

<!DOCTYPE html> 
<html>
<body>
  <div id="app"> <!-- @section('content') -->
  </div>
</body>
</html>

我该如何解决这个问题?

【问题讨论】:

    标签: laravel dom blade


    【解决方案1】:

    你不能像这样使用@extends。请改用@include

    @include('partials.sidebar')
    

    【讨论】:

    • 我在侧边栏中有一个部分 (pagecontent)。如果我将@extends 更改为@include,则不会将文本“This is home”插入该部分
    • 有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 2017-01-10
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    相关资源
    最近更新 更多