【问题标题】:Laravel 5.4 render parent view before child viewLaravel 5.4 在子视图之前渲染父视图
【发布时间】:2017-03-11 10:35:05
【问题描述】:

是否可以强制 laravel 执行父视图然后执行子视图?我使用带有一些视图编辑器的主视图来创建菜单并设置一些变量,然后在我的站点地图子视图中,因为主视图是在我最终尚未创建菜单之后计算的。

@extends('layout.master')


@section('content')
    {{-- Render this after layout.master --}}
@endsection

也许我在这里错过了一些可能性。

【问题讨论】:

  • 您是否尝试过使用@parent 并确保内容包含在主模板中?
  • @parent 只是选择要追加内容的位置,但子视图仍然(遗憾地)首先渲染。
  • 您能否从您的主视图中显示与您的作曲家中的变量相关的代码以及您在哪里产生子视图?

标签: laravel blade laravel-5.4


【解决方案1】:

如果您查看刀片在 storage/framework/views/some_name.php 中生成的代码,您可以看到下一个代码:

<?php echo $__env->yieldContent('content'); ?>

它的工作原理类似于 PHP inlcude,当代码到达这一行时,它会与内容一起进入该文件。

这就是为什么你不能加载主视图,然后是子视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    相关资源
    最近更新 更多