请查看我的控制器
class myController extends Controller
{
$markets = Market::all();
\JavaScript::put([
'markets' => $markets,
]);
return view('test.index');
}
使用此方法,我可以在markets
变量的angularjs文件中获取所有市场。
我看到了类似的东西
class myController extends Controller
{
$markets = Market::all();
return view('test.index', compact($markets));
}
我想要哪一个?两者的优点是什么?两者有什么区别?
答案 0 :(得分:0)
第一种方法: 如果要从laravel控制器方法定义javascript变量,这将很有用。然后,您可以将变量直接用于javascript。
console.log(markets);
但是问题是您不能在该变量上调用PHP或laravel函数。
第二种方法: 这只是常规的PHP变量声明,并将变量传递到刀片模板。您可以在其上调用任何php或laravel函数。但是它在javascript中不可用。 如果要使其可用。
var markets = "{{ $markets }}";
console.log(markets);
两个都有优点和缺点。