我正在使用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>
完全没有。不仅是堆栈区域,而且在原始区域也是如此。怎么啦?
发布于 2018-10-31 23:10:01
在布局中应该使用堆栈。没有太多理由(如果有的话)将堆栈放在同一刀片模板中。
在文档的示例中,堆栈是在布局的<head>
中定义的。扩展该布局的模板是您将代码推入或预先添加到该堆栈的位置。(尽管文档对此可以更清楚地说明)
刀片视图的部分被渲染,然后被放置到扩展布局中的适当位置,这使得可以定义内容加载的位置。
你不能在定义一个节的同时定义该节中的内容。一旦布局点击@ been或@stack,它就会呈现该部分中定义的内容。
换句话说,这之所以有效,是因为节内容在命中yield之前被呈现:
@section('test')
<h1>Hello World</h1>
@endsection
@yield('test')
但这不会:
@yield('test')
@section('test')
<h1>Hello World</h1>
@endsection
同样的逻辑顺序也适用于堆栈。
https://stackoverflow.com/questions/53085775
复制相似问题