簡體   English   中英

Laravel 8 – Blade 模板 – 從另一個模板文件讀取變量

[英]Laravel 8 – Blade template – read variable from another template file

這一定非常簡單,但由於我是 Laravel 的新手,我很難在文檔或 stackoverflow 中找到此功能。

我將嘗試構建一個非常簡單的示例來展示我想要的東西。

假設我有一個名為 data.blade.php 的文件

@php
$myVariable = 'xyz';
@endphp

然后,我有我的布局模板文件,名為:home.blade.php

@extends('data.blade')
@section('content')
    @php
        echo $myVariable;
    @endphp
@endsection

當我嘗試這樣做時,它返回一個錯誤:

Undefined variable $myVariable (etc)

如何使用另一個刀片文件中定義的變量? 我用 extends 來舉例說明,但我不確定那是否是正確的架構。

誰能指出我實現這一目標的正確方法?

謝謝!

你正在擴展 data.blade.php 並且這個文件需要有一些元素作為模板並被擴展。

您可以采用任何 html5 文件並將其重命名為 template.blade.php,但是您要在模板中呈現部分的位置必須具有 yield('section-name')。

制作一個新的 app.blade.php 應該是這樣的

<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show
 
        <div class="container">
            @yield('content')
        </div>
    </body>
</html>

然后,在你的 home.blade.php

@extends('layouts.app')
 
@section('title', 'Page Title')
 
@section('sidebar')
    @parent
 
    <p>This is appended to the master sidebar.</p>
@endsection
 

@section('content')
  @include(data)
   {{$myVariable}}


    <p>This is my body content.</p>
@endsection

來自 Laravel 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM