我的变量在 blade 视图中似乎不可用

My variable does not seem to be available in blade view

我的路线...

   Route::get('/test', function () {

    $word = ['Hello'];



    return view('test', $word);
});

我的 Blade 查看...

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Laravel Quickstart - Basic</title>
    <link href="{{ asset('/css/app.css') }}" rel="stylesheet"/>
    <link href="{{ asset('/css/Test.css') }}" rel="stylesheet"/>
    <!-- CSS And JavaScript -->
</head>

<body>

<div class="container">
    <nav class="navbar navbar-default">
        {{$word}}
    </nav>
</div>



</body>
</html>

通过浏览器访问应用程序时出现以下错误...

(2/2) ErrorException Undefined variable: word (View: /home/vagrant/Code/Laravel/resources/views/test.blade.php)

当我从 blade 视图中删除 $word 并替换为静态字符串 "test" 时,它会正确显示。

不知道为什么 blade 视图看不到 $word 变量,有人有什么想法吗?

更改此行

return view('test', $word);

return view('test', compact('word'));

变量将在您的 blade 中可用。

您需要通过以下两种方式之一将其 return 显示在视图中:

return view('test', compact('word'));

或者

return view('test', ['word' => $word]);

这两种方法中的任何一种都可以让您使用 blade 文件中的 $word 变量

您可以在此处的文档中查看相关示例:https://laravel.com/docs/5.4/blade#displaying-data

要完成 Karl 的回答,您可以在此处查看示例:https://laravel.com/docs/5.4/views#creating-views