Laravel刀片模板堆栈不工作

Laravel刀片模板堆栈不工作,laravel,laravel-blade,Laravel,Laravel Blade,我正在使用Laravel开发一个web应用程序。我现在做的是使用此处提到的刀片堆栈功能渲染内容。问题是它不起作用。请参阅下面的简单代码 这是我的观点内容 @extends('layouts.app') @stack('stack_content') <h1>Other contents</h1> @prepend('stack_content') <h1>This is my name</h1> @endprepend

我正在使用Laravel开发一个web应用程序。我现在做的是使用此处提到的刀片堆栈功能渲染内容。问题是它不起作用。请参阅下面的简单代码

这是我的观点内容

@extends('layouts.app')


@stack('stack_content')

   <h1>Other contents</h1>

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


@section('content')

@endsection
@extends('layouts.app'))
@堆栈(“堆栈内容”)
其他内容
@前置(“堆栈内容”)
这是我的名字
@endprepend
@节(“内容”)
@端部
它不工作的原因是它没有显示此内容

<h1>This is my name</h1>
这是我的名字

一点也不。不仅是堆栈区域,而且在原始区域中也是如此。怎么了?

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

在文档中的示例中,堆栈在布局的
中定义。扩展该布局的模板是将代码推送到该堆栈或在其前面添加代码的地方。(尽管文件对此可能会更清楚)

渲染刀片视图的部分,然后将其放置在适当位置的扩展布局中,这使得可以定义加载内容的位置

您不能定义一个具有yield的节,然后定义该节内的内容。一旦布局点击@yield或@stack,它将呈现该部分中定义的内容

换句话说,这是有效的,因为节内容是在到达屈服点之前呈现的:

            @section('test')
                <h1>Hello World</h1>
            @endsection
            @yield('test')
@节(“测试”)
你好,世界
@端部
@产量(‘测试’)
但这不会:

            @yield('test')
            @section('test')
                <h1>Hello World</h1>
            @endsection
@yield('test'))
@第节(“测试”)
你好,世界
@端部

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

您使用哪种版本的laravel?我认为“prepend”是在5.6中实现的,否则使用“push”最新版本。5.7我也使用推送。只是不在同一模板中处理堆栈和预结束/推送?我认为那行不通。“推送到可以在其他视图或布局中呈现的命名堆栈”正如@Devon所说,当“堆栈”位于不同的文件中时,我看不出问题。明白了。解释得很好。干杯伙计。