在Laravel中主要有以下几种向视图传递变量的方式:
1.使用with()方法
public function home(){
$name = 'hello';
return view('home')->with('name',$name);
}
2.直接给view()传参数
public function home(){
$name = 'hello';
return view('home',$name);
}
如果传递多个变量,也可以使用view()方法,直接传递数组:
public function home(){
return view('home',[
'name'=>'hello',
'email'=>'hello@gmail.com'
]);
}
3.使用compact
public function home(){
$name='hello';
$email='hello@gmail.com';
return view('home',compact('name','email'));
}
compact()
的字符串可以就是变量的名字,多个变量名用逗号隔开。这个时候注意更改视图的变量输出。
有时候我们要传递的是一个对象的示例,此时可以使用compact()转换成数组再传递到视图。