我正在尝试从子目录返回视图,但是当使用下面的代码时,出现错误“未定义的变量:folder1”
Route::get('/', function () {
return view("folder1/page1");
});
或
Route::get('/', function () {
return view("/folder1/page1");
});
或
Route::get('/', function () {
return view("folder1.page1");
});
视图“ page1”位于名为folder1的文件夹中,例如...
如何返回不在同一目录中的视图?
答案 0 :(得分:2)
在laravel中,默认情况下,视图存储在resources/views
目录中。您的视图page1.blade.php文件位于resources/views/folder1
目录中。要返回视图,我们可以如下使用全局view
帮助器,
return view('folder1.page1');
对于上述情况,您可以这样做
Route::get('/',function(){
return view('folder1.page1');
});
如果您想将数据传递到视图中,可以采用多种方法, 你可以用这个
$data1= 'Sample data 1';
return view('folder1.page1',['data1'=>$data1]);
或
$data1 = 'Sample data 1';
returnn view('folder1.page1')->with('data1',$data1);
或
$data1 = 'Sample data 1';
return view('folder1.page1')->compact('data1');
答案 1 :(得分:1)
您可以尝试以下操作
Route::get('/', function () {
return view("folder1.page1",compact('products'));
});
答案 2 :(得分:0)
问题不在于视图本身,问题在于您没有传递视图中用于渲染产品数据的view
和$product
变量。
尝试这样的事情:
Router::get('/', function() {
return view('folder1.page1', ['products' => App\Product::all()]);
}