我的路线......
Route::get('/test', function () {
$word = ['Hello'];
return view('test', $word);
});
我的刀片视图......
<!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未定义的变量:word(查看: /home/vagrant/Code/Laravel/resources/views/test.blade.php)
当我从刀片视图中删除$ word并替换为静态字符串“test”时,它会正确显示。
不知道为什么刀片视图看不到$ word varible,任何想法?
答案 0 :(得分:2)
您需要通过以下两种方式之一将其返回到视图中:
return view('test', compact('word'));
或者
return view('test', ['word' => $word]);
这两种方法中的任何一种都可以让您使用刀片文件中的$ word变量
您可以在此处的文档中查看此示例:https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes/Using_js-ctypes/Type_conversion
答案 1 :(得分:1)
更改此行
return view('test', $word);
到
return view('test', compact('word'));
该变量将在您的刀片中可用。
答案 2 :(得分:1)
要完成Karl的回答,你可以在那里看到一个例子:https://laravel.com/docs/5.4/views#creating-views