Laravel Blade模板堆栈不起作用

Wai Yan Hein

我正在使用Laravel开发Web应用程序。我现在正在做的是使用刀片堆栈功能(如此处提到的https://laravel.com/docs/5.7/blade#stacks)呈现内容问题是它不起作用。请参阅下面的简单代码。

这是我的查看内容

@extends('layouts.app')


@stack('stack_content')

   <h1>Other contents</h1>

@prepend('stack_content')
      <h1>This is my name</h1>
@endprepend


@section('content')

@endsection

它不起作用的原因是它没有显示此内容

<h1>This is my name</h1>

完全没有 不仅堆栈区域,还包括原始区域。怎么了?

德文郡

堆栈应在布局中使用。将堆栈放在同一刀片模板中的原因(如果有的话)并不多。

在文档的示例中,堆栈是在布局的中定义的<head>扩展该布局的模板是您将代码推送或添加到该堆栈的位置。(尽管文档可能对此更加清楚)

呈现刀片视图的各个部分,然后将它们放置在扩展布局中的适当位置,这使得可以定义内容的加载位置。

您不能使用yield定义一个部分,然后在该部分中定义内容。一旦布局命中@yield或@stack,它将呈现该部分中定义的内容。

换句话说,这是可行的,因为节内容在到达yield之前就已呈现:

            @section('test')
                <h1>Hello World</h1>
            @endsection
            @yield('test')

但这不会:

            @yield('test')
            @section('test')
                <h1>Hello World</h1>
            @endsection

相同的逻辑顺序适用于堆栈。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章