Javascript::put() 或 return view('index', compact($data))
Javascript::put() or return view('index', compact($data))
请查看我的控制器
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));
}
我更喜欢哪一个?两者的优点是什么?两者有什么区别?
第一种方法:
如果您想从 laravel 控制器方法定义 javascript 变量,这将很有用。然后你可以直接使用你的变量到 javascript.
console.log(markets);
但问题是您不能对该变量调用 PHP 或 laravel 函数。
第二种方法:
它只是常规的 PHP 变量声明并将变量传递给 blade 模板。您可以在其上调用任何 php 或 laravel 函数。但它在 javascript 中不可用。
如果你想让它可用。
var markets = "{{ $markets }}";
console.log(markets);
两者各有利弊。
请查看我的控制器
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));
}
我更喜欢哪一个?两者的优点是什么?两者有什么区别?
第一种方法: 如果您想从 laravel 控制器方法定义 javascript 变量,这将很有用。然后你可以直接使用你的变量到 javascript.
console.log(markets);
但问题是您不能对该变量调用 PHP 或 laravel 函数。
第二种方法: 它只是常规的 PHP 变量声明并将变量传递给 blade 模板。您可以在其上调用任何 php 或 laravel 函数。但它在 javascript 中不可用。 如果你想让它可用。
var markets = "{{ $markets }}";
console.log(markets);
两者各有利弊。