这是我的alert.blade.php,
@if(Session::has('info'))
<div class="alert alert-info">{{ Session::get('info') }}</div>
@endif
这是我的welcome.blade.php,
<!DOCTYPE html>
<html>
<head>
<title>Laravel</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
@include('alert')
</body>
</html>
而且,这是我的routes.php,
Route::get('/', function () {
return view('welcome')->with('info','Hello World');
});
任何帮助都将非常感激 提前致谢
答案 0 :(得分:0)
return view('welcome')->with('info','Hello World');
此行返回&#39; info&#39;的值到视图,并没有将其设置为会话。你的代码:
@if(Session::has('info'))
<div class="alert alert-info">{{ Session::get('info') }}</div>
@endif
检查会话中是否存在info
变量。因此,您需要将视图更改为:
@if(isset($info))
<div class="alert alert-info">{{ $info }}</div>
@endif
这基本上会检查视图是否有一个名为info
的变量,如果它是真的,它会打印它的值。
答案 1 :(得分:0)
使用->with()
会在您的视图中生成一个可访问的变量。
您可以选择将其更改为:
@if (isset($info))
然而,还有一些其他更清洁的方法可以解决这个问题。
您可以使用withErrors()
看起来像是:
return view('yourView')->withErrors(['info' => 'Your message'])
您可以像访问它一样访问它:
@if ($errors->has('info'))
{{ $errors->first('info') }}
@endif