Javascript :: put () или обратный просмотр (index), compact ($ data)) - PullRequest
1 голос
/ 02 апреля 2019

Пожалуйста, посмотрите в мой контроллер

    class myController extends Controller
    {
      $markets = Market::all();
      \JavaScript::put([
         'markets' => $markets,
      ]);

      return view('test.index');
    }

Используя этот метод, я могу получить все рынки в моем файле angularjs в переменной markets.

Я видел что-то вроде ниже

    class myController extends Controller
    {
      $markets = Market::all();
      return view('test.index', compact($markets));
    }

какой бы я предпочел? в чем преимущества обоих? в чем разница обоих?

1 Ответ

0 голосов
/ 02 апреля 2019

1-й метод: Это полезно, если вы хотите определить свою переменную javascript из метода контроллера laravel. Затем вы можете использовать вашу переменную непосредственно в JavaScript.

console.log(markets);

Но проблема в том, что вы не можете вызвать функцию PHP или laravel для этой переменной.

2-й метод: Это просто обычное объявление переменной PHP и передача переменной в шаблон blade. Вы можете вызвать любую функцию php или laravel. Но это не доступно в JavaScript. Если вы хотите сделать его доступным.

var markets = "{{ $markets }}";
console.log(markets);

У обоих есть свои плюсы и минусы.

...